MySql触发器错误

今天用MySql做数据库书上的触发器实验,想着两者差异应该不是太大,就找了一份网上的简单教程,结果看来差异还是有的,至少在触发器语法上。
建立触发器代码如下:

create trigger after_change after insert on student                                                 -> for each row                                                                                 -> select * from student; 

第一次出错信息: Not allowed to return a result set from a trigger。
信息提示MySql触发器不能返回结果集,虽然SQL server教材上好像可以。本来是很简单的,直接百度寻求解决方法就可以知道可以使用变量存储结果,具体怎么办以后再看。然而我直接在select语句上下加上了begin、end。如下:

create trigger after_change after insert on student                                                 -> for each row 
-> begin                                                                                -> select * from student;
-> end;         //这行没有打出来 

结果又出现了第二个错误:
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 ” at line 5
这个时候是因为另一个东西:delimiter 这个命令用来修改我们在命令行中写入命令的结束标志,默认是 ; (分号),但是如果我们的命令中有一个以上的分号的话,就会出错。这时候用delimiter + <某个符号>那么以后命令行就会以这个符号作为结束标志。一般我们用delimiter + $$ 设置, 两个美元符号。以后分号就不是结束标志了,$$才是。
例:

select * from course;                                                        -> $$ 

我的github: http://cstlrx.github.io/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值