从bash脚本更新mysql数据库中的数据

Gra*_*ant 1 mysql bash shell insert

这是我第一次尝试使用可执行的.sh文件在mysql数据库中插入一些信息.

我正在使用以下bash脚本,但它不起作用.显然,为了便于理解,下面的大多数变量已被替换和简化.

#!/bin/bash

mysql -D mydbname -u mydbuser -p mydbpass <<EOF
INSERT INTO mytable (mycolumn) VALUES ('myvalue') WHERE id = '13';

exit;
Run Code Online (Sandbox Code Playgroud)

您可以看到我只想在id = 13的行中插入我的值,并且该行确实存在.

我不认为我正在格式化查询吗?

编辑:好了以后的建议我现在有了这个,但它仍然无法正常工作?

#!/bin/bash
mysql -D mydbname -u mydbuser -p mydbpass <<EOF
UPDATE mytable SET mycolumn = 'myvalue' WHERE id = '13';
exit;
Run Code Online (Sandbox Code Playgroud)

Gra*_*ant 7

经过一些试验和错误后找到答案.

以防万一其他人想要做同样的事情:

#!/bin/bash

mysql -u username -puserpass dbname -e "UPDATE mytable SET mycolumn = 'myvalue' WHERE id='myid'";
Run Code Online (Sandbox Code Playgroud)

请注意,-p和密码-puserpass之间没有空格,如果你在那里放一个空格-p userpass它会提示你输入密码.

希望它可以帮助某人;)