从LOAD DATA INFILE中查找MySQL错误

Xeo*_*oss 4 mysql sql load-data-infile

我在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
Run Code Online (Sandbox Code Playgroud)

我如何让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)
Run Code Online (Sandbox Code Playgroud)

我如何找到这些错误?

Vin*_*ent 7

MySQL SHOW WARNINGS命令仅显示警告的子集.您可以通过修改参数max_error_count来更改显示的警告限制.


Dav*_*Rix 0

数据文件中可能存在空白条目,并且目标表不允许空值,或者相​​关字段没有有效的默认值。

我会检查该表是否有默认值accuracy- 如果没有,请将其设置为零并查看是否可以清除错误。

或者,您可以使用“awk”或类似的方法预处理文件,并确保所有行中的准确度字段都有有效的数值。

  • 这就是答案?我想问题是如何从mysql中找到日志? (7认同)