gpt4 book ai didi

MySQL IF EXISTS 不工作

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

尝试使用 IF EXISTS 自动选择从哪个表中选择记录。

我刚收到以下错误消息和下面的代码。

我哪里错了?

IF EXISTS (SELECT 1 FROM Users WHERE Reference='USR00000007')
SELECT * FROM Users WHERE Reference='USR00000007'
ELSE
SELECT * FROM Staff WHERE Reference='USR00000007';

错误:#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“IF EXISTS (SELECT 1 FROM Users WHERE Reference='USR00000007') SELECT * FROM'附近使用的正确语法

最佳答案

问题出在MySQL。 IF - 作为控制流 - 仅适用于存储过程、存储函数和触发器等编程 block 。

假设两个表中的列相同,您可以在单个查询中执行您想要的操作:

SELECT u.*
FROM Users u
WHERE u.Reference = 'USR00000007'
UNION ALL
SELECT s
FROM Staff s
WHERE s.Reference = 'USR00000007' AND
NOT EXISTS (SELECT 1 FROM Users u2 WHERE u2.Reference = 'USR00000007')

关于MySQL IF EXISTS 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36136235/

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