gpt4 book ai didi

MySQL 存储函数语法错误

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

我花了几个小时,但我不明白为什么它会突出显示为红色,而且我不知道我的错误是什么。

CREATE FUNCTION Student_Section_Count(StudentID INT)

Returns INT

Begin

DECLARE section_Registred INT;

SET section_Registred= (Select COUNT(DISTINCT Section.ID) as 'Students Registration Count'

FROM Section
Inner Join
Registration on registration.StudentID=Section.ID

Where registration.StudentID=StudentID);

Return Section_Registred;

END$$

Delimiter;

它突出显示 END 和分隔符,以及 Return INT 中的 INT

最佳答案

默认分号;是mysql中的分隔符。因此,当使用 mysql 客户端时,传递给服务器的函数定义仅限于第一个分号,即 DECLARE section_Registred INT;。函数定义的其余部分不会传递到服务器。这会产生错误。要在函数定义中合并分号,您需要将分隔符从分号更改为其他内容。因此,在定义函数之前,请编写以下 sql 来更改分隔符:

DELIMITER $$

在上面的sql之后为你的函数编写sql。将新的分隔符 $$ 附加到函数定义末尾的 END 中。现在函数的整个定义被传递到服务器直到新的分隔符。这将修复您的错误。函数定义结束后,将分隔符更改回默认值,如下所示:

DELIMITER;.

还请记住选择一个不在函数定义中任何地方出现的分隔符。

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

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