如何列出“mysqlimport”实用程序的警告?

如何列出“mysqlimport”实用程序的警告?

首先,这不是从 MySQL 本身加载数据,而是使用命令行工具“mysqlimport”。

我正在用它将 CSV 直接加载到表中,需要查看它生成的警告。我似乎无法在详细模式或调试模式下显示警告。有什么想法吗?

(MySQL 5.0.5)

答案1

使用 mysqlimport 无法做到这一点,但是作为替代方案,您可以执行以下操作:

mysql --execute="LOAD DATA LOCAL INFILE '$WORKDIR/$table.csv' INTO TABLE $table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' IGNORE 1 LINES (listOfColumnNames); SHOW WARNINGS"

listOfColumnNames用适当的分隔列表替换。

神奇的是(正如 Eduard 前面提到的)在同一个会话中一起执行 LOAD DATA INFILE 和 SHOW WARNINGS 命令,因为 mysqlimport 没有提供直接获取警告的方法。

答案2

就像其他人所说的那样,真正的问题是要使 SHOW WARNINGS 起作用,您必须处于相同的连接会话中。mysqlimport 在完成导入后立即断开与会话的连接,这使得在当前版本中无法捕获其警告。听起来像是一个捐赠补丁的机会。:)

答案3

我也找不到用 mysqlimport 打印警告的方法。但是既然 mysqlimport 只执行“LOAD DATA INFILE”,为什么不使用 mysql 命令导入数据,然后执行“SHOW WARNINGS”呢?

相关内容