如何在加载数据期间禁用警告日志?

时间:2019-10-23 08:44:28

标签: mysql load-data-infile

LOAD DATA INFILE 'sample.csv' IGNORE INTO TABLE mytable;

结果还可以,但是每一行都会记录一个警告:

| Warning | 1261 | Row 1 doesn't contain data for all columns |
| Warning | 1261 | Row ... doesn't contain data for all columns |
| Warning | 1261 | Row 20000000 doesn't contain data for all columns |

但是我对导入没问题,甚至想要阻止警告日志(例如,它们可能会影响性能)。如何禁用那些明确的内容?

1 个答案:

答案 0 :(得分:1)

虽然这不是理想的解决方案,但是您可以禁用数据库的日志记录警告。 您可以尝试使用

SET GLOBAL LOG_WARNINGS = 0 

关闭日志记录和

SET GLOBAL LOG_WARNINGS = 1 

将其重新打开。

也许在加载文件之前运行此程序,然后再将其重新打开。

更新: LOG_WARNINGS已过时,因此您可以使用此功能:

SET GLOBAL log_error_verbosity = 1;

这将仅记录错误。之后,您可以将值设置为3(默认值)。

这里是参考:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_log_error_verbosity