MySQL не поддерживает подобные анонимные операторы IF.
У вас есть как минимум 3 варианта решения этой проблемы:
1) Просто запустите оператор ALTER TABLE
и проигнорируйте ошибку Duplicate column name
, если столбец уже существует. Если вы выполняете связку DDL в сценарии, вы можете использовать mysql -f
, чтобы игнорировать ошибки и продолжать работу.
2) Используйте язык сценариев, такой как bash, python, perl и т. Д., Чтобы проверить наличие столбца, а затем добавьте его, если он еще не существует.
3) Создайте хранимую процедуру в MySQL, чтобы проверить наличие столбца, а затем добавьте его, если он еще не существует.
P.S. Кроме того, я рекомендую не ставить скобки в именах столбцов, потому что это заставляет вас указывать имя столбца каждый раз, когда вы ссылаетесь на него.