sql >> Database >  >> RDS >> Mysql

MySQL kolom toevoegen indien niet aanwezig

Als je host je geen toestemming geeft om procedures te maken of uit te voeren, denk ik dat ik een andere manier heb gevonden om dit te doen door PREPARE/EXECUTE te gebruiken en het schema op te vragen:

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. Wachtgebeurtenissen SQL Server -1

  2. Elimineer duplicaten met de Oracle LISTAGG-functie

  3. Wat is de beste manier om gegevens tussen MS Access en MySQL te synchroniseren?

  4. MySQL - een door de gebruiker gedefinieerde functie maken voor een aangepaste sortering