スクリーンショットに示されているように、これはエラーコード1293です。このエラーの理由は、MySQLの実装の詳細にあるようです。
タイプの列を使用して回避することはできますDATETIMEが、これでは現在の時刻を値として設定できませんdefault。ただし、これはアプリケーションコードで、またはトリガーを使用して解決できます。サンプルテーブル(と呼ばれるdatetimetest)を使用して、次のようなトリガーを追加しました。
データベーススキーマ:
CREATE TABLE `datetimetest` (
`id` int(11) NOT NULL,
`created` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TRIGGER trigger_SetCreated
BEFORE INSERT ON datetimetest
FOR EACH ROW SET NEW.created = UTC_TIMESTAMP();
に設定される列が1つしかないためmodified、トリガーを使用してフィールドに対して同じことを行うか、ソリューションを維持することができます。BEFORE UPDATETIMESTAMPCURRENT_TIMESTAMP ON UPDATE