gpt4 book ai didi

mysql - mysql 脚本内的双引号不起作用

转载 作者:行者123 更新时间:2023-11-29 15:35:25 25 4
gpt4 key购买 nike

我想为我的 FreePBX 创建一个 cron 脚本。如果我从终端连接到 mysql,它的工作方式如下:

mysql -u user -ppasswd table
UPDATE kvstore SET val='$HOST' where `key`="externip";

但在这样的脚本中:

mysql -u user -ppasswd table  -e "UPDATE kvstore SET val='$HOST' where `key`="externip";";

它返回我:

 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '=externip' at line 1

例如,我的脚本没有问题,因为脚本内没有双引号:

mysql -u user -ppasswd table -e "UPDATE sipsettings SET data = '$HOST' WHERE sipsettings.keyword = 'externip_val' AND sipsettings.seq = 40 AND sipsettings.type = 0;";

我尝试了所有可以将\"作为引号的方法,但没有找到解决方案。

感谢您的回答,如果有人可以帮助我!

最佳答案

嵌入的双引号确实与周围的双引号发生冲突。在 SQL 中,无论如何使用单引号来定义字符串通常是一个很好的做法,所以我建议:

mysql -u user -ppasswd table  -e "UPDATE kvstore SET val='$HOST' where `key`='externip';";

关于mysql - mysql 脚本内的双引号不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58301443/

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