我正在尝试使用此命令行将 .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
。因此上面的命令返回一个错误。
什么是最好的导入方式?我应该删除日期错误的行吗?有没有办法只导入正确的导入行而忽略有错误的导入行?
谢谢你的帮助
如前所述这里
您可以--force (-f)
在mysql
导入时使用该标志。MySQL 不会停止,而是继续并将错误记录到控制台。
例如:
mysql -u username -p -f -D path/myfile.sql < path/myfile.sql
用默认值(例如,更换无效值1900-01-01
)是不是一个好的做法,你应该更喜欢NULL
,而不是
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句