#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册以获取正确的语法
Posted
技术标签:
【中文标题】#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册以获取正确的语法【英文标题】:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax 【发布时间】:2019-10-24 07:42:03 【问题描述】:请帮帮我,我想创建程序,但我发现了这样的错误
CREATE PROCEDURE studentAddOrEdit(
IN _id INT,
IN _firstname VARCHAR(191),
IN _lastname VARCHAR(191)
)
BEGIN
IF _id = 0 THEN
INSERT INTO students(firstname, lastname) VALUES(_firstname,_lastname);
SET _id = LAST_INSERT_ID();
ELSE
UPDATE
students
SET
firstname = _firstname, lastname = _lastname
WHERE
id = _id;
END IF;
SELECT
id AS _id
END
现在它说
#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取正确的语法,以便在第 7 行的 '' 附近使用
【问题讨论】:
哪一行是问题行? 你为什么不直接使用IODKU? 您似乎要求 CALLer 知道学生是否已经存在。使用 IODKU。 【参考方案1】:当我添加几个分号时,您的代码可以正常工作。 Here 就是一个例子。
您可能也应该有一个 DELIMITER
语句,尽管这在 dbfiddle 中似乎不起作用。
【讨论】:
以上是关于#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册以获取正确的语法的主要内容,如果未能解决你的问题,请参考以下文章
#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册以获取正确的语法
#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册
1064. 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法
#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法