gpt4 book ai didi

MySQL:在尝试更新列之前检查值是否已存在

转载 作者:行者123 更新时间:2023-11-29 22:59:06 24 4
gpt4 key购买 nike

我想在更新列之前检查要更新的值是否已存在于表中。

例如:如果我有一个名为 Tokens 的表,其中包含名为 refresh_token 的列和 token。我只想更新空白的refresh_token,前提是它们不存在具有相同值的其他refresh_token。

我有这个:

IF (NOT EXISTS(SELECT * FROM Tokens WHERE refresh_token = 'C08Rbs'))
BEGIN
UPDATE Tokens SET refresh_token='C08Rbs' WHERE id='2'
END
END;

但它返回一个错误:

错误 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 'IF (NOT EXISTS(SELECT * FROM Tokens WHERE refresh_token = 'C08Rbs' at line 1

) 附近使用的正确语法

我应该怎么做?

注意:我没有使用存储过程。我想使用一个查询来完成此操作。

有没有办法使用 if-else 语句来做到这一点??因为if如果值存在就执行一条语句

最佳答案

试试这个:

IF (SELECT tocken_id FROM Tokens WHERE refresh_token = 'C08Rbs') IS NOT NULL THEN
BEGIN
UPDATE Tokens SET refresh_token='C08Rbs' WHERE id='2'
END
END IF;

其中 tocken_id 是唯一字段或 Tokens 表中的任何字段。

关于MySQL:在尝试更新列之前检查值是否已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28585247/

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