从LOAD DATA INFILE中查找MySQL错误
作者:互联网
我在MySQL中运行LOAD DATA INFILE命令,其中一个文件在mysql提示符下显示错误.
如何检查警告和错误?现在我唯一要做的就是提示在导入时报告65,535个警告.
mysql> use dbname;
Database changed
mysql> LOAD DATA LOCAL INFILE '/dump.txt'
-> INTO TABLE table
-> (id, title, name, accuracy);
Query OK, 897306 rows affected, 65535 warnings (16.09 sec)
Records: 897306 Deleted: 0 Skipped: 0 Warnings: 0
我如何让mysql向我展示这些警告是什么?我查看了错误日志,但我找不到它们.运行“SHOW WARNINGS”命令仅返回64个结果,这意味着剩下的65,000个警告必须在其他地方.
2 |
| Warning | 1366 | Incorrect integer value: '' for column 'accuracy' at row 2038
3 |
| Warning | 1366 | Incorrect integer value: '' for column 'accuracy' at row 2038
4 |
| Warning | 1366 | Incorrect integer value: '' for column 'accuracy' at row 2038
6 |
| Warning | 1366 | Incorrect integer value: '' for column 'accuracy' at row 2038
7 |
+---------+------+--------------------------------------------------------------
--+
64 rows in set (0.00 sec)
我如何找到这些错误?
解决方法:
数据文件中可能有空白条目,目标表不允许空值,或者没有相关字段的有效默认值.
我会检查表格是否有准确性的默认值 – 如果没有,请将其设置为零并查看是否清除了错误.
或者您可以使用’awk’或类似方法预处理文件,并确保所有行中的准确性字段都有一个有效的数值.
标签:load-data-infile,sql,mysql 来源: https://codeday.me/bug/20190827/1742676.html