gpt4 book ai didi

尝试创建检查数据的函数时出现 MySQL 错误代码?

转载 作者:行者123 更新时间:2023-11-30 21:37:04 24 4
gpt4 key购买 nike

所以我的数据库中有两个包含成员 ID 的表。我正在尝试创建一个存储函数,当成员不在表 A 中但在表 B 中时返回 0。

这是我的代码:

Delimiter //
CREATE FUNCTION DoesMemberExist ( mid char(10))
RETURNS INTEGER
READS SQL DATA
BEGIN
IF(((SELECT COUNT(*)
FROM members
WHERE member_id = mid) = 0) AND ((SELECT COUNT(*)
FROM rent_equipment_log
WHERE member_id = mid) > 0)) THEN
RETURN 0;
ELSE RETURN 1;
END IF;
END;

我得到的错误是 1064,它说我的语法有问题,但我不知道哪里出了问题?提前致谢!

最佳答案

您可以利用 EXISTS()反而。此外,缺少 END IF 来结束 IF 子句。

DELIMITER //
CREATE FUNCTION DoesMemberExist ( mid char(10))
RETURNS INTEGER
READS SQL DATA
BEGIN
IF( NOT EXISTS(SELECT 1 FROM members
WHERE member_id = mid)
AND
EXISTS(SELECT 1 FROM rent_equipment_log
WHERE member_id = mid) ) THEN
RETURN 0;
ELSE RETURN 1;
END IF; -- We need to END the IF clause
END //
DELIMITER ; -- Redefine the delimiter back to ;

关于尝试创建检查数据的函数时出现 MySQL 错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53398266/

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