gpt4 book ai didi

mysql - 在此 bash 脚本中获取 LAST_INSERT_ID

转载 作者:行者123 更新时间:2023-11-29 09:31:31 27 4
gpt4 key购买 nike

我有一个执行 MySQL 查询的脚本(见下文)。如果是 INSERT 查询,我想返回 LAST_INSERT_ID(),

mysql_exec_result=$(
printf "%s\n" \
"[client]" \
"user=${CONFIG_DB_USERNAME}" \
"password=${CONFIG_DB_PASSWORD}" \
"host=${CONFIG_DB_HOST}" \
"port=${CONFIG_DB_PORT}" \
"database=${CONFIG_DB_DATABASE}" \
| HOME="/sys" mysql --defaults-file=/dev/stdin ${opts} -e "${query}"
)

感谢您的帮助!

最佳答案

当您从 MySQL 外部执行查询时,您可以使用 bash 命令来执行依赖于第一个命令的其他命令。

您可以将查询存储在变量中,然后运行 ​​if 语句,如下例所示:

query="INSERT.....";
if [[ $query == *"INSERT"* ]];
then
mysql -e "$query; SELECT LAST_INSERT_ID();"
else
mysql -e "$query"
fi

在上面,如果您正在执行的查询包含任何 INSERT 命令,那么它会在运行 INSERT 后为您获取 LAST_INSERT_ID。

如果查询不包含 INSERT,则它将执行查询,而不会在查询完成后获取 LAST_INSERT_ID。

可以修改“mysql -e”命令以相应地包含您所需的标志。

提供的 if 语句示例可以如下所示放在一行中:

query="INSERT....."; if [[ $query == *"INSERT"* ]]; then mysql -e "$query; SELECT LAST_INSERT_ID();"; else mysql -e "$query"; fi

关于mysql - 在此 bash 脚本中获取 LAST_INSERT_ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58609152/

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