sql >> Database >  >> RDS >> Mysql

ALTER gebruiken om een ​​kolom te verwijderen als deze in MySQL bestaat

Voor MySQL is er geen: MySQL-functieverzoek .

Dit toestaan ​​is sowieso een heel slecht idee:IF EXISTS geeft aan dat u destructieve bewerkingen uitvoert op een database met (voor u) onbekende structuur. Er kunnen situaties zijn waarin dit acceptabel is voor snel en vies lokaal werk, maar als je in de verleiding komt om zo'n statement te maken tegen productiegegevens (bij een migratie enz.), speel je met vuur.

Maar als u erop staat, is het niet moeilijk om eerst te controleren of de client bestaat, of de fout op te sporen.

MariaDB ondersteunt ook het volgende beginnend met 10.0.2:

DROP [COLUMN] [IF EXISTS] col_name 

i. e.

ALTER TABLE my_table DROP IF EXISTS my_column;

Maar het is misschien wel een slecht idee om te vertrouwen op een niet-standaard functie die wordt ondersteund door slechts een van de verschillende vorken van MySQL.



  1. JDBC VS Hibernate

  2. Oplossing:toegang geweigerd voor gebruiker 'root'@'localhost' in MariaDB

  3. mysql - twee limieten nodig?

  4. Bulksgewijs invoegen in MYSQL vanuit XML-bestanden