[英]bash update mysql from bash command
我想从bash命令更新数据库:
#!/bin/bash
list= cat /home/wwwroot/list.txt;
mysql -u root -D dbname -e "UPDATE wp_postmeta SET meta_value = '$list' WHERE meta_key = 1";
猫/home/wwwroot/list.txt
文字1
文字2
文字3
...
如何在SQL查询中读取$ list变量?
谢谢。
Cat
在这里太过分了。
如果需要用空格分隔的值,建议使用数组。
list=($(</home/wwwroot/list.txt))
mysql -u root -D dbname -e "UPDATE wp_postmeta \
SET meta_value = '${list[@]}' WHERE meta_key = 1";
这样做的好处是,如果需要逗号分隔的值,则可以使用bash [参数替换]来实现。 只需将查询更改为
mysql -u root -D dbname -e "UPDATE wp_postmeta \
SET meta_value = '${list[@]/%/,}' WHERE meta_key = 1";
#Note ${list[@]/%/,} appends comma after each value in the text file
都很好:-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.