No, realmente no hay forma de agregar un campo a varias tablas a la vez. Deberá escribir un script para ello. Sin embargo, no debería ser un guión difícil de escribir:
Un simple SHOW TABLES
query obtendrá una lista de tablas que luego puede recorrer en PHP.
Dentro del ciclo, un SHOW COLUMNS FROM tablename
query le dará los campos en la tabla actual, que puede usar para verificar si ya tiene el practiceId
y luego agréguelo si es necesario.
Para agregar el campo, use ALTER TABLE tablename ADD COLUMN practiceId INT
(He asumido INT
, pero reemplácelo con, sin embargo, su campo debe definirse si está utilizando un tipo de datos diferente)
Para agregar un índice en la nueva columna, también puede usar ALTER TABLE
, o use CREATE INDEX
. Para crear una restricción de clave externa, use ALTER TABLE
con ADD FOREIGN KEY
argumento (pero creo que esto solo funciona con tablas InnoDB).
Referencia: