Mysql
 sql >> Database >  >> RDS >> Mysql

Aggiungi una nuova colonna in tutte le tabelle MySQL

No, non c'è davvero un modo per aggiungere un campo a più tabelle contemporaneamente. Dovrai scrivere uno script per questo. Tuttavia, non dovrebbe essere uno script difficile da scrivere:

Un semplice SHOW TABLES query ti darà un elenco di tabelle che puoi quindi scorrere in PHP.

All'interno del ciclo, un SHOW COLUMNS FROM tablename query ti fornirà i campi nella tabella corrente, che puoi utilizzare per verificare se ha già il practiceId campo, quindi aggiungerlo se necessario.

Per aggiungere il campo, usa ALTER TABLE tablename ADD COLUMN practiceId INT (Ho assunto INT , ma sostituisci con comunque il tuo campo deve essere definito se stai utilizzando un tipo di dati diverso)

Per aggiungere un indice alla nuova colonna, puoi anche usare ALTER TABLE oppure usa CREATE INDEX . Per creare un vincolo di chiave esterna usa ALTER TABLE con ADD FOREIGN KEY argomento (ma credo che funzioni solo con le tabelle InnoDB).

Riferimento: