ALTER TABLE user DROP COLUMN registered_date
Мы можем удалить столбец, используя указанную выше команду. Но как я могу удалить его только в том случае, если существует столбец register_date?Как удалить столбец, если существует в mysql?
ALTER TABLE user DROP COLUMN registered_date
Мы можем удалить столбец, используя указанную выше команду. Но как я могу удалить его только в том случае, если существует столбец register_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
ИЛИ
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