关于mysql触发器问题

zj_friday 2012-02-26 09:52:35
表(testT)定义:
id int
version int
name string
建立触发器,更新时自动算出最大的version,并赋值给当前修改行的version字段。

下面写法不对,求修改以及其他简单写法
create trigger t_updateVersion
before update on testT
for each row
begin
declare aaa INT; /*出错:sql syntax error near INT*/
select aaa= max(version) from testT;
set new.version = aaa + 1;
end /*出错:sql syntax error near INT*/
...全文
38 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wolfwu_kg5 的回复:]

SQL code

delimiter //
create trigger t_updateVersion
before update on testT
for each row
begin
declare aaa int;
select max(version) into aaa from testT;
set new.version = aaa + 1;
end;//
[/Quote]

按一楼的改就行了,两个问题,
1。 没有使用delimter //
2。 select aaa= 语法错误。
wolfwu_kg5 2012-02-26
  • 打赏
  • 举报
回复

delimiter //
create trigger t_updateVersion
before update on testT
for each row
begin
declare aaa int;
select max(version) into aaa from testT;
set new.version = aaa + 1;
end;//

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧