这是我第一次尝试使用可执行的 .sh 文件在 mysql 数据库中插入一些信息。
我正在使用以下 bash 脚本,但它不起作用。显然,为了便于理解,下面的大部分变量都已被替换和简化。
#!/bin/bash
mysql -D mydbname -u mydbuser -p mydbpass <<EOF
INSERT INTO mytable (mycolumn) VALUES ('myvalue') WHERE id = '13';
exit;
您可以看到我只想将我的值插入到 id = 13 并且该行确实存在的行中。
我认为我没有正确格式化查询,对吗?
编辑:好的,根据下面的建议,我现在已经得到了这个,但它仍然不起作用?
#!/bin/bash
mysql -D mydbname -u mydbuser -p mydbpass <<EOF
UPDATE mytable SET mycolumn = 'myvalue' WHERE id = '13';
exit;
最佳答案
经过反复试验找到了答案。
以防万一其他人想要做同样的事情:
#!/bin/bash
mysql -u username -puserpass dbname -e "UPDATE mytable SET mycolumn = 'myvalue' WHERE id='myid'";
请注意,-p 和您的密码 -puserpass 之间没有空格,如果您在此处放置一个空格 -p userpass,它将提示您输入密码。
希望对大家有所帮助;)
关于mysql - 从 bash 脚本更新 mysql 数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28462376/