sql >> Databasteknik >  >> RDS >> Mysql

MySQL lägg till kolumn om den inte finns

Om din värd inte ger dig tillåtelse att skapa eller köra procedurer tror jag att jag hittat ett annat sätt att göra detta genom att använda PREPARE/EXECUTE och fråga efter schemat:

SET @s = (SELECT IF(
    (SELECT COUNT(*)
        FROM INFORMATION_SCHEMA.COLUMNS
        WHERE table_name = 'table_name'
        AND table_schema = DATABASE()
        AND column_name = 'col_name'
    ) > 0,
    "SELECT 1",
    "ALTER TABLE table_name ADD col_name VARCHAR(100)"
));

PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;


  1. Oracle In-Memory Kostnad

  2. Kan inte använda kolumnnamn desc i mysql

  3. Klassen 'mysqli_connect' hittades inte

  4. Oracle ORA-12154:TNS:Kunde inte lösa tjänstens namnfel?