【发布时间】:2019-05-13 07:59:26
【问题描述】:
所以,我基本上有这个程序:
CREATE PROCEDURE NotificationLog(IN `Timestamp` BIGINT, IN UnitID INT, IN Content VARCHAR(50), IN `LEVEL` TINYINT, IN Solved INT, IN Sector TINYINT)
MODIFIES SQL DATA
BEGIN
DECLARE newId INT;
INSERT INTO `logs` VALUES (NULL, `Timestamp`, `UnitID`);
SET newId = LAST_INSERT_ID();
INSERT INTO notificationlogs VALUES (newId, Content, `Level`, Solved, Sector);
END;
但是有一个错误,当我在 Heidi SQL 10(我用来管理数据库)的查询选项卡上运行它时,它给了我错误:
SQL 错误 (1064):您的 SQL 语法有错误;检查 与您的 MariaDB 服务器版本相对应的手册 第 4 行 " 附近的语法
这是有史以来最无用的无信息消息。我不知道语法有什么问题,因为这个错误什么也没说。
语法有问题吗? MariaDB 上的文档对带有临时变量的存储过程没有太大帮助。
编辑:这似乎是 HeidiSQL 问题而不是 MariaDB,更改了问题标题。
【问题讨论】:
-
也许你在第 4 行有一些不可见的字符,尝试从这里复制代码,看看它是否有效。
-
已经这样做了。但是你知道这在其他数据库中是否有效吗?
标签: sql stored-procedures mariadb heidisql