sql >> Database teknologi >  >> RDS >> Mysql

Brug af ALTER til at slette en kolonne, hvis den findes i MySQL

For MySQL er der ingen: MySQL-funktionsanmodning .

At tillade dette er uden tvivl en rigtig dårlig idé, alligevel:IF EXISTS angiver, at du kører destruktive operationer på en database med (for dig) ukendt struktur. Der kan være situationer, hvor dette er acceptabelt for hurtigt og beskidt lokalt arbejde, men hvis du er fristet til at køre en sådan erklæring mod produktionsdata (i en migrering osv.), leger du med ilden.

Men hvis du insisterer, er det ikke svært blot at tjekke, om der findes i klienten først, eller at fange fejlen.

MariaDB understøtter også følgende startende med 10.0.2:

DROP [COLUMN] [IF EXISTS] col_name 

jeg. e.

ALTER TABLE my_table DROP IF EXISTS my_column;

Men det er uden tvivl en dårlig idé at stole på en ikke-standard funktion, der kun understøttes af en af ​​flere forgrene i MySQL.



  1. MySQL forklarer forespørgselsforståelse

  2. Oprettelse og adgang til OLTP-databaser og tabeller i hukommelsen

  3. Om forfriskende objekter i sqlalchemy-session

  4. hvad er java.io.EOFException, Besked:Kan ikke læse svar fra server. Forventet at læse 4 bytes, læse 0 bytes