@@ system_time_zoneを、既存のテーブルに追加しようとしている列のデフォルト値として定義しようとしています。例えば
ALTER TABLE T1 ADD COLUMN TIME_ZONE CHAR(64) NOT NULL DEFAULT @@system_time_zone;
これにより、MySQL構文エラーが発生します。@@system_time_zoneを一重引用符で囲んでみました。私は今、これを次のように2つに分割しています。
ALTER TABLE T1 ADD COLUMN TIME_ZONE CHAR(64) NOT NULL;
UPTATE T1 SET TIME_ZONE=@@system_time_zone;
これは機能しますが、これが理想的なソリューションではないことは明らかです。Google / StackOverFlowを検索しようとしましたが、役に立ちませんでした。これを達成できる正しい構文があるかどうか、またはこれを達成できる他の代替案があるかどうかを誰かに知らせてもらえますか?