MySQLの:のErr] 1292 - 誤った日時値: '0000-00-00夜十二時00分00秒' の行で列 'CREATE_TIME' の1

問題


データのNavicatをインポートする場合、与えられました:
[Err] 1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'CREATE_TIME' at row 1

ここに画像を挿入説明


理由

現在のMySQLは日時0事態をサポートしていないためです。


解きます

変更はSQL_MODE:

sql_modeの:SQLモードMySQLは、データ検証をSQL構文をサポートする必要があります定義、などこれは、簡単に異なる環境でMySQLを使用できるようになります。


グローバルsql_modeの

ビューグローバルsql_modeの:

select @@global.sql_mode;

私たちは、見ることができますO_ZERO_DATE、NO_ZERO_IN_DATEを、これらの2つの設定を削除しました。

ここに画像を挿入説明

グローバルsql_modeのを変更します。

set @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

ここに画像を挿入説明

現在のsql_mode

現在のsql_modeのを見ます:

select @@sql_mode;

ここに画像を挿入説明現在のsql_modeを変更します。

set @@sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

ここに画像を挿入説明

OK、問題は解決しました。

ここに画像を挿入説明


上記はまた、私たちの問題を解決するかもしれませんが、再起動のMySQLたら、あなたは時間と現在のグローバルsql_modeのをリセットする必要がありますが。

設定sql_modeのを修正

中SQL_MODE変更設定MySQLの設定ファイルmysql.ini、あなたは、MySQLがアップSQL_MODE再設定し、各再起動する必要はありません。

  • 閉じるMySQLの
net stop MySQL57
  • MySQL設定変更
    のmy.ini [mysqldを]には、下で添加しました。
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  • [スタート] MySQLの
net start MySQL57


終わり!



参考:

[1]:HTTPS://my.oschina.net/shadowolf/blog/3005188
[2]:HTTPS://www.cnblogs.com/mmyy-blog/p/9626326.html
[3]:MySQLの業務、ロック、SQLMode、パーティション

公開された136元の記事 ウォン称賛36 ビュー30000 +

おすすめ

転載: blog.csdn.net/sinat_40770656/article/details/101198274