如何列出来自“mysqlimport”工具的警告?

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

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

(mysql 5.0.5)

对,这是我刚才不得不面对的一个麻烦。 下面是一个处理将一堆CSV文件转换成mysql表格的脚本代码片段:

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

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

像其他人一样,真正的问题是,为了让SHOW WARNINGS工作,你必须在同一个连接的会话中。 一旦完成导入,mysqlimport将从会话中断开连接,从而在当前版本中捕获它的警告是不可能的。 听起来像是一个捐赠补丁的机会。 🙂

我找不到用mysqlimport打印警告的方法。 但是,由于mysqlimport除了“LOAD DATA INFILE”之外什么都不做,为什么不使用mysql命令来导入数据,然后是“SHOW WARNINGS”?