mysqlはInvalid default value for'created_に出会ったat'のエラー
3770 ワード
テーブルの作成中にInvalid default value for'created_に遭遇しましたat'の間違いは、何が原因なのか分からない.
デフォルトのデータは「000-00-00 00 00:00:00」でエラーを報告し、「1970-01-01 00:00:00」でもエラーを報告します.
解決策
まずは次のコマンドでsql_を見てみましょうmode
クエリの結果は次のとおりです.
結果にNO_が含まれている場合ZERO_IN_DATE, NO_ZERO_DATEは、次のコマンドを実行します.
CREATE TABLE `test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '1970-01-01 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
デフォルトのデータは「000-00-00 00 00:00:00」でエラーを報告し、「1970-01-01 00:00:00」でもエラーを報告します.
解決策
まずは次のコマンドでsql_を見てみましょうmode
show variables like 'sql_mode';
クエリの結果は次のとおりです.
ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
結果にNO_が含まれている場合ZERO_IN_DATE, NO_ZERO_DATEは、次のコマンドを実行します.
set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZE