数据库
首页 > 数据库> > 从LOAD DATA INFILE中查找MySQL错误

从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