gpt4 book ai didi

mysql语法错误,但在哪里?

转载 作者:行者123 更新时间:2023-11-29 02:31:01 25 4
gpt4 key购买 nike

我正在学习一些关于 mysql 函数创建的教程,但我不断收到以下错误。

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 5:

 CREATE FUNCTION getstatisticscount (h VARCHAR(35),d date)
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE tel INT;
SELECT count(hash) into tel from statsitieken where hash=h and lastvisit between concat(d,' 00:00:00') and concat(d,' 23:59:59') group by hash;
RETURN tel;
END;

我这辈子都找不到第 5 行在哪里,但无论我把它放在哪一行,我都会不断收到这个错误。如果我从 sql fiddle 代码中删除这个函数,一切都很好。我找不到它有什么问题...除了可能有缺陷的教程。

http://sqlfiddle.com/#!2/70f0a

最佳答案

使用分隔符

delimiter //
CREATE FUNCTION getstatistics(h VARCHAR(35),d date)
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE tel INT;
SELECT count(hash) INTO tel
FROM statistics
WHERE
hash=h
AND lastvisit BETWEEN concat(d,' 00:00:00') AND concat(d,' 23:59:59')
GROUP BY hash;
RETURN tel;
END
//

DELIMITER ;

更多信息:http://dev.mysql.com/doc/refman/5.1/en/stored-programs-defining.html

编辑:基本上,由于您的存储过程用分号 (;) 分隔语句,并且定义您的过程的方法也使用分号分隔语句,因此 MySQL 很难甚至不可能找出您的过程的开始和结束位置。我还编辑了上面的 SQL 语句,将分隔符恢复为默认分号。

关于mysql语法错误,但在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13173497/

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