如果存在于mysql中,如何删除列?

Clo*_*eph 11 mysql sql alter

ALTER TABLE user DROP COLUMN registered_date
Run Code Online (Sandbox Code Playgroud)

我们可以使用上面的命令删除一列.但是,如果列registered_date存在,我该如何删除它?

Jib*_*ran -2

IF EXISTS(SELECT * 
          FROM information_schema.COLUMNS 
          WHERE 
          TABLE_SCHEMA = 'db_name' 
          AND TABLE_NAME = 'table_name' 
          AND COLUMN_NAME = 'column_name')
BEGIN
 ALTER TABLE table_name DROP COLUMN column_name
END
Run Code Online (Sandbox Code Playgroud)

或者

IF (SELECT COUNT(*) 
          FROM information_schema.COLUMNS 
          WHERE 
          TABLE_SCHEMA = 'db_name' 
          AND TABLE_NAME = 'table_name' 
          AND COLUMN_NAME = 'column_name'>0)
BEGIN
 ALTER TABLE table_name DROP COLUMN column_name
END
Run Code Online (Sandbox Code Playgroud)