問題
データの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、パーティション