gpt4 book ai didi

MySql - 存储函数语法错误

转载 作者:行者123 更新时间:2023-11-29 13:34:50 25 4
gpt4 key购买 nike

SQL:

CREATE FUNCTION delete_user (uId INT) RETURNS BOOLEAN
BEGIN
IF uID >= 0 THEN
START TRANSACTION;
DELETE FROM Folder WHERE u_id = uId;
DELETE FROM `User` WHERE id = uId;
RETURN 1;
END IF;
RETURN 0;
END;

错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4

哪里有语法错误?

最佳答案

您需要在函数周围放置一个分隔符

delimiter |
CREATE FUNCTION delete_usr (uId INT) RETURNS BOOLEAN
BEGIN
IF uID >= 0 THEN
DELETE FROM Folder WHERE u_id = uId;
DELETE FROM `User` WHERE id = uId;
RETURN 1;
END IF;
RETURN 0;
END
|
delimiter ;

默认分隔符是;。但是,如果您想创建过程/函数,数据库引擎会认为您的语句在第一个 ; 处结束。这将导致声明不完整。您可以定义另一个分隔符,然后用它来标记语句的结束。

关于MySql - 存储函数语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18891916/

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