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)
经过一些试验和错误后找到答案.
以防万一其他人想要做同样的事情:
#!/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它会提示你输入密码.
希望它可以帮助某人;)