ALTER TABLE user DROP COLUMN registered_date
我們可以使用上述命令刪除一列。但是,我只能在列registered_date存在時才能刪除它?如何在mysql中存在一列?
ALTER TABLE user DROP COLUMN registered_date
我們可以使用上述命令刪除一列。但是,我只能在列registered_date存在時才能刪除它?如何在mysql中存在一列?
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
OR
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
它看起來並不像有一種方法,但最壞的情況下,你會得到它,你可以在你的應用層處理錯誤。 –
它看起來像這樣ALTER TABLE用戶DROP COLUMN IF EXISTS registered_date; –
@DeepakJoshi我會得到語法錯誤:「意外的IF」。 – CloudSeph