mysql - #1064 - 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册以获取正确的语法

标签 mysql 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 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 7

最佳答案

当我添加几个分号时,您的代码就可以工作。 Here就是一个例子。

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

关于mysql - #1064 - 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册以获取正确的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56517356/

相关文章:

mysql - 将 MySQL 数据库时区设置为 GMT

MYSQL Join weeks table with Sales 和 Group by Salesman and Weeks

mysql - 使用 MySQL 选择除当前视频之外的类似视频

php - 在 mac 上安装 mariaDB

java - 无法连接到 MySQL - Glassfish 和 Hibernate

mysql - 如何修复MySQL错误#1064?

sql - 如何查找不同表中的行数

MySQL where 搜索问题

mysql - 来自 2 个表的 SQL 语句

php - MySQL 用 faker 生成的结果更新表