Não, realmente não há uma maneira de adicionar um campo a várias tabelas de uma só vez. Você precisará escrever um script para ele. Não deve ser um script difícil de escrever, no entanto:
Um simples
SHOW TABLES
query fornecerá uma lista de tabelas que você pode percorrer em PHP. Dentro do loop, um
SHOW COLUMNS FROM tablename
query lhe dará os campos na tabela atual, que você pode usar para verificar se já tem o practiceId
campo e, em seguida, adicione-o, se necessário. Para adicionar o campo, use
ALTER TABLE tablename ADD COLUMN practiceId INT
(Eu assumi INT
, mas substitua por, no entanto, seu campo precisa ser definido se você estiver usando um tipo de dados diferente) Para adicionar um índice na nova coluna, você também pode usar
ALTER TABLE
, ou use CREATE INDEX
. Para criar uma restrição de chave estrangeira use ALTER TABLE
com ADD FOREIGN KEY
argumento (Mas acredito que isso só funciona com tabelas InnoDB). Referência: