sql >> Base de Datos >  >> RDS >> Mysql

Agregue una nueva columna en todas las tablas mysql

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: