mysql存储过程声明错误

mysql存储过程声明错误,mysql,stored-procedures,declare,Mysql,Stored Procedures,Declare,我真的不明白这个错误 我把declare语句放在begin之后。我经常使用MS SQL,所以我不太熟悉mysql语法。请帮帮我 DELIMITER // CREATE DEFINER=`root`@`localhost` PROCEDURE `AddEntry2`(IN `inDate` DATE, IN `inUser` INT, IN `inComment` TEXT, IN `inStart` INT, IN `inEnd` INT) BEGIN DECLARE commID UNSIGN

我真的不明白这个错误

我把declare语句放在begin之后。我经常使用MS SQL,所以我不太熟悉mysql语法。请帮帮我

DELIMITER //
CREATE DEFINER=`root`@`localhost` PROCEDURE `AddEntry2`(IN `inDate` DATE, IN `inUser` INT, IN `inComment` TEXT, IN `inStart` INT, IN `inEnd` INT)
BEGIN
DECLARE commID UNSIGNED;
INSERT IGNORE INTO dimcomment (comment) values (inComment);
SELECT commID := MAX(id) 
                          FROM  dimcomment 
                          WHERE comment = inComment;

INSERT INTO factentry (FKDate, FKUser, FKComment,FKStart,FKEnd,FKAbsence)
VALUES (
        inDate,
        inUser,
        commID,
        inStart,
        inEnd,
        1
    );
END //
我得到的错误是:

#1064 - 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 'UNSIGNED;
INSERT IGNORE INTO dimcomment (comment) values (inComment);
SELECT c' at line 3 
我将UNSIGNED更改为INT,错误消息更改为:

#1064 - 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 ':= MAX(id) 
                          FROM     dimcomment 
                      ' at line 5

似乎我无法通过SELECT VAR:=VALUE进行设置?

除了语法问题之外,还有什么错误:
INSERT
<代码>选择最大值(id)序列将在负载下中断。使用
SELECT LAST\u INSERT\u ID()
,看起来您应该在声明中使用
INT
而不是
UNSIGNED
INT UNSIGNED
可能有效-我想我从未尝试过。啊,你发布了错误。然后应该是这样-使用
INT
INT UNSIGNED
。检查帖子,我编辑了新的错误消息