gpt4 book ai didi

mysql - 如何检查数据库中是否存在字符串以及在 true 和 false 的情况下执行 SQL 命令

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

我需要一些帮助。

我想检查 SIMPLE_TABLE 中的 username 列包含 Ben 的字符串,并在真实情况下执行以下命令:

UPDATE `SIMPLE_TABLE` SET `number` = `number` + 3 WHERE username LIKE "Ben"

在 false (如果字符串不存在)情况下我想执行其他命令:

INSERT INTO `SIMPLE_TABLE` (username, number) VALUES ('Ben', '3');

我尝试以这种方式做到这一点,但没有成功:

SELECT * FROM SIMPLE_TABLE 
WHERE username='Ben';
BEGIN
UPDATE `SIMPLE_TABLE` SET `number` = `number` + 3 WHERE username LIKE "Ben"
END

ELSE
BEGIN
INSERT INTO SIMPLE_TABLE (username, number) VALUES ('Ben', '3')
END

我怎样才能做到这一点?提前致谢。

最佳答案

使用唯一索引并重复键更新:

INSERT INTO `SIMPLE_TABLE` (username, number)
VALUES ('Ben', 3)
ON DUPLICATE KEY UPDATE number = number + VALUES(number);

为此,您需要在用户名上有一个唯一索引:

CREATE UNIQUE INDEX unq_simple_table_username ON SIMPLE_TABLE(username);

如果用户名被声明为主键,它也将起作用。

注意:number 大概是一个数字。保持类型一致,这就是为什么我删除了 3 周围的引号。

关于mysql - 如何检查数据库中是否存在字符串以及在 true 和 false 的情况下执行 SQL 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58032835/

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