我想像下面这样创建一个简单的函数来完成一个简单的任务:
DELIMITER $$
CREATE FUNCTION f(key TEXT, str TEXT) RETURNS INT
BEGIN
IF LOCATE(key, str) > 0 THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
END $$
DELIMITER ;但是我得到了一个错误:
ERROR 1064 (42000): 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 'key T
EXT, str TEXT) RETURNS INT
BEGIN
IF LOCATE(key, str) > 0 THEN
R' at line 1有什么问题吗?
发布于 2013-01-29 02:41:05
该函数存在语法错误,因为key是MySql中的保留字。解决方案:重命名参数或将key放在反引号内,如下所示:
CREATE FUNCTION f(`key` TEXT, str TEXT) RETURNS INT发布于 2013-01-29 02:40:44
key是mysql中的关键字,请将其放在`之间或使用其他名称。
https://stackoverflow.com/questions/14568805
复制相似问题