CREATE TRIGGER `UpdateId`
BEFORE INSERT ON `comments`
FOR EACH ROW
set @vid=(select MAX(comments.id) from comments)+1;
set new.id=@vid;
这个查询给我一个错误#1193说id变量未知。
似乎有类似问题的每个人都没有将“new”子句放在变量之前,但在我的例子中,它仍然不起作用。“new”子句在我键入时没有突出显示,它看起来不是一个特殊的关键字,而是一个普通的单词。
1条答案
按热度按时间f45qwnt81#
从https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html,看起来您可能需要只使用一个
set
陈述或使用begin ... end
构造。我的预感是create trigger
语句在第一个分号处结束,然后mysql在到达时不知道您在说什么new.id=@vid;
.或者