IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'email_subscription' AND COLUMN_NAME = 'subscribe_all')
THEN
ALTER TABLE email_subscription
ADD COLUMN subscribe_all TINYINT(1) DEFAULT 1,
ADD COLUMN subscribe_category varchar(512) DEFAULT NULL;
たくさんの例を見ました。しかし、このクエリは機能しません。次のエラーが発生しました。
エラー1064(42000):SQL構文にエラーがあります。1行目の「IFNOTEXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME =」)の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。