'mysqlimport' 实用程序如何列出警告?

bri*_*ink 29 mysql database command-line-interface csv import

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

我正在使用它直接将 CSV 加载到表中,并且需要查看它生成的警告。我似乎无法在打开详细或调试的情况下显示警告。有任何想法吗?

(MySQL 5.0.5)

小智 31

使用 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"
Run Code Online (Sandbox Code Playgroud)

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

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


小智 5

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