首页 > 解决方案 > #1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册以获取正确的语法

问题描述

请帮助我,我想创建程序,但我发现了这样的错误

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 行的 '' 附近使用正确的语法

标签: mysqlsqlmariadb

解决方案


当我添加几个分号时,您的代码有效。 是一个例子。

您可能也应该有一个DELIMITER语句,尽管这在 db<>fiddle 中似乎不起作用。


推荐阅读