我使用mysqlimport成功地将表自动导入到数据库。
然而,不可能看到任何警告的细节。相反,我想使用LOAD DATA INFILE,它应该可以添加SHOW WARNINGS。
但我不知道如何在bash脚本中使用LOAD DATA INFILE。
我就是这样用mysqlimport做的
mysqlimport --fields-terminated-by="," --fields-enclosed-by=\" -u dbuser -ppassword databasename /tmp/customers.csv 此命令将数据导入表“customers”中。
但是,如何使用添加的SHOW WARNINGS功能在bash文件中做同样的事情呢?
谢谢你的帮助。
发布于 2016-02-04 19:34:36
选项 to mysql将接受一个或多个由分号分隔的查询,就像在交互式shell中一样。只需传递一个标准的LOAD DATA INFILE查询,然后是SHOW WARNINGS。
mysql -u dbuser -ppassword -D databasename -e 'LOAD DATA INFILE "/tmp/customers.csv" INTO TABLE foo FIELDS TERMINATED BY "," ENCLOSED BY "\""; SHOW WARNINGS'或者您也可以在标准输入上传递查询;我发现黑尔多语法更容易阅读,它避免了一个级别的引号。
mysql -u dbuser -ppassword -D databasename <<SQL
LOAD DATA INFILE '/tmp/customers.csv' INTO TABLE foo FIELDS TERMINATED BY ',' ENCLOSED BY '"';
SHOW WARNINGS;
SQLhttps://stackoverflow.com/questions/35208284
复制相似问题