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

Použití ALTER k odstranění sloupce, pokud v MySQL existuje

Pro MySQL žádná neexistuje: Žádost o funkci MySQL .

Povolit toto je pravděpodobně opravdu špatný nápad, každopádně:IF EXISTS označuje, že spouštíte destruktivní operace na databázi s (pro vás) neznámou strukturou. Mohou nastat situace, kdy je to přijatelné pro rychlou a špinavou místní práci, ale pokud jste v pokušení spustit takový příkaz proti produkčním datům (při migraci atd.), zahráváte si s ohněm.

Ale pokud na tom trváte, není těžké jednoduše nejprve zkontrolovat existenci v klientovi nebo zachytit chybu.

MariaDB také podporuje následující počínaje 10.0.2:

DROP [COLUMN] [IF EXISTS] col_name 

i. e.

ALTER TABLE my_table DROP IF EXISTS my_column;

Ale je pravděpodobně špatný nápad spoléhat se na nestandardní funkci podporovanou pouze jednou z několika fork MySQL.



  1. výběr řádků s id z jiné tabulky

  2. PRIMÁRNÍ KLÍČE MySQL:UUID / GUID vs BIGINT (časové razítko+náhodné)

  3. Zkontrolujte, zda tabulka na serveru SQL existuje

  4. .NET / Oracle:Jak programově spustit skript s příkazy DDL