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

Tilføj en ny kolonne i alle mysql-tabeller

Nej, der er virkelig ikke en måde at tilføje et felt til flere tabeller på én gang. Du skal skrive et script til det. Det burde dog ikke være et svært script at skrive:

En simpel SHOW TABLES forespørgslen vil give dig en liste over tabeller, som du derefter kan gå igennem i PHP.

Inden for løkken, en SHOW COLUMNS FROM tablename forespørgslen vil give dig felterne i den aktuelle tabel, som du kan bruge til at kontrollere, om den allerede har practiceId felt, og tilføj det derefter, hvis det er nødvendigt.

For at tilføje feltet skal du bruge ALTER TABLE tablename ADD COLUMN practiceId INT (Jeg har antaget INT , men erstat med, men dit felt skal defineres, hvis du bruger en anden datatype)

For at tilføje et indeks på den nye kolonne, kan du også bruge ALTER TABLE , eller brug CREATE INDEX . Brug ALTER TABLE for at oprette en fremmednøglekontraint med ADD FOREIGN KEY argument (Men jeg tror, ​​at dette kun virker med InnoDB-tabeller).

Reference:




  1. Postgres-ordre efter udenlandsk nøgleydelse?

  2. MySQL:Tilføj begrænsning, hvis den ikke eksisterer

  3. .NET Core på Azure kan ikke oprette forbindelse til SQL Server-databasen

  4. Føj en databasepostkonto til en profil (SSMS)