gpt4 book ai didi

mysql - 加载 INFILE 而不是 mysqlimport

转载 作者:行者123 更新时间:2023-11-28 23:37:59 25 4
gpt4 key购买 nike

我已经成功地使用 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”中。

但是我怎样才能在我的 bash 文件中使用 SHOW WARNINGS 的附加功能做同样的事情呢?

感谢所有帮助。

最佳答案

-e or --execute option 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'

或者您也可以通过标准输入传递查询;我找到 heredoc syntax更易于阅读,并且避免了一级引号。

mysql -u dbuser -ppassword -D databasename <<SQL
LOAD DATA INFILE '/tmp/customers.csv' INTO TABLE foo FIELDS TERMINATED BY ',' ENCLOSED BY '"';
SHOW WARNINGS;
SQL

关于mysql - 加载 INFILE 而不是 mysqlimport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35208284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com