Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fügen Sie in allen MySQL-Tabellen eine neue Spalte hinzu

Nein, es gibt wirklich keine Möglichkeit, ein Feld mehreren Tabellen gleichzeitig hinzuzufügen. Sie müssen dafür ein Skript schreiben. Es sollte jedoch kein schwer zu schreibendes Skript sein:

Ein einfaches SHOW TABLES Abfrage erhalten Sie eine Liste von Tabellen, die Sie dann in PHP durchlaufen können.

Innerhalb der Schleife ein SHOW COLUMNS FROM tablename query gibt Ihnen die Felder in der aktuellen Tabelle, mit denen Sie überprüfen können, ob sie bereits die practiceId hat aus und fügen Sie es bei Bedarf hinzu.

Um das Feld hinzuzufügen, verwenden Sie ALTER TABLE tablename ADD COLUMN practiceId INT (Ich bin davon ausgegangen, dass INT , aber ersetzen Sie durch jedoch muss Ihr Feld definiert werden, wenn Sie einen anderen Datentyp verwenden)

Um der neuen Spalte einen Index hinzuzufügen, können Sie auch ALTER TABLE verwenden , oder verwenden Sie CREATE INDEX . Um eine Fremdschlüsselbeschränkung zu erstellen, verwenden Sie ALTER TABLE mit ADD FOREIGN KEY Argument (Aber ich glaube, das funktioniert nur mit InnoDB-Tabellen).

Referenz: