sql >> Databasteknik >  >> RDS >> Mysql

Lägg till en ny kolumn i alla mysql-tabeller

Nej, det finns verkligen inget sätt att lägga till ett fält till flera tabeller samtidigt. Du måste skriva ett manus för det. Det borde dock inte vara ett svårt manus att skriva:

En enkel SHOW TABLES query ger dig en lista med tabeller som du sedan kan gå igenom i PHP.

Inom slingan, en SHOW COLUMNS FROM tablename fråga ger dig fälten i den aktuella tabellen, som du kan använda för att kontrollera om den redan har practiceId och lägg sedan till det vid behov.

För att lägga till fältet, använd ALTER TABLE tablename ADD COLUMN practiceId INT (Jag har antagit INT , men ersätt med men ditt fält måste definieras om du använder en annan datatyp)

För att lägga till ett index på den nya kolumnen kan du också använda ALTER TABLE , eller använd CREATE INDEX . För att skapa en främmande nyckelkontraint använd ALTER TABLE med ADD FOREIGN KEY argument (Men jag tror att detta bara fungerar med InnoDB-tabeller).

Referens:




  1. Behöver du hjälp med att skapa en enkel reskontra från mysql skuld- och kredittabeller?

  2. Akta dig för vilseledande data från SET STATISTICS IO

  3. Dela upp kommaseparerade värden för en kolumn i rad genom Oracle SQL-fråga

  4. Hur tar jag bort utökade ASCII-tecken från en sträng i T-SQL?