gpt4 book ai didi

mysql - 在生成错误的 bash 脚本中运行 mysql 命令

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:58 25 4
gpt4 key购买 nike

运行一个执行 MySQL 命令的 bash 脚本,我在这一行得到一个错误。

$MYSQL_BIN $DATABASE -e \
"ALTER TABLE `nodes` ADD COLUMN `created_date` int(32) AFTER `address`";

错误是created_date: command not found

以及这一行:

$MYSQL_BIN $DATABASE -e \
"UPDATE `nodes` SET `created_date` = UNIX_TIMESTAMP() WHERE `created_date`
IS NULL AND `address` IS NOT NULL";

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET = UNIX_TIMESTAMP() WHERE IS NULL AND IS NOT NULL' at line 1.

我认为第一个错误是因为我可能没有转义引号?

最佳答案

Bash 使用 bactick 运算符 (`) 来指示命令替换,即将一个命令的标准输出替换为定义另一个命令的文本行。

所以你应该使用单引号而不是双引号或者正确地转义反引号:

$MYSQL_BIN $DATABASE -e 
'ALTER TABLE `nodes` ADD COLUMN `created_date` int(32) AFTER `address`';

$MYSQL_BIN $DATABASE -e 
"ALTER TABLE \`nodes\` ADD COLUMN \`created_date\` int(32) AFTER \`address\`";

关于mysql - 在生成错误的 bash 脚本中运行 mysql 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6595458/

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