在 MySQL 上导入错误的 .sql 文件的最佳实践

索拉尔

我正在尝试使用此命令行将 .sql 文件导入 MySQL

mysql -u username -p databasename < path/myfile.sql

这是 myfile.sql 的示例

INSERT INTO mytable (‘id’,’isDeleted’,’amount’,’date’,’description’,’description_clean’,’isDebit’,’account_id’,’user_uuid’) VALUES (3798,'0',35,'0000-00-00','test','test','1',108,'021752f8-7194-4a4b-8919-fb8216ecba07');
INSERT INTO mytable (‘id’,’isDeleted’,’amount’,’date’,’description’,’description_clean’,’isDebit’,’account_id’,’user_uuid’) VALUES (3799,'0',9.4,'2018-05-02','CB Frichti','CB Frichti','1',108,'316a3da6-821b-42c8-80ea-3c1ac437484e');
INSERT INTO mytable (‘id’,’isDeleted’,’amount’,’date’,’description’,’description_clean’,’isDebit’,’account_id’,’user_uuid’) VALUES (3800,'0',50,'0000-00-00','test','test','1',108,'316a3da6-821b-42c8-80ea-3c1ac437484e');

我的文件包含一些日期,但其中一些是错误的日期0000-00-00因此上面的命令返回一个错误。

什么是最好的导入方式?我应该删除日期错误的行吗?有没有办法只导入正确的导入行而忽略有错误的导入行?

谢谢你的帮助

w4bo

如前所述这里

您可以--force (-f)mysql导入时使用该标志MySQL 不会停止,而是继续并将错误记录到控制台。

例如:

mysql -u username -p -f -D path/myfile.sql < path/myfile.sql

用默认值(例如,更换无效值1900-01-01)是不是一个好的做法,你应该更喜欢NULL,而不是

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章