sql >> Databáze >  >> RDS >> Mysql

Přidat sloupec MySQL, pokud neexistuje

Pokud vám váš hostitel nedává oprávnění vytvářet nebo spouštět procedury, myslím, že jsem našel jiný způsob, jak to udělat pomocí PREPARE/EXECUTE a dotazování na schéma:

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. Neplatná výchozí hodnota pro 'Datum'

  2. Jak mohu přenést int do bitu v MySQL 5.1?

  3. Jak získat včerejší datum v Oracle

  4. Android Room – Jak resetovat automaticky generovaný primární klíč tabulky při každém spuštění aplikace