MySQL触发器中通过SELECT语句给变量赋值

来源:互联网 发布:淘宝客户关系管理打折 编辑:程序博客网 时间:2024/06/06 01:32

在MySQL数据库的触发器程序中,如果使用“SELECT @v := f FROM...”形式的语句给变量赋值,执行时会报错,提示:“Not allowed to return a result set from atrigger”。

原因是:触发器不允许返回数据集,以致由触发器所调用的存储过程或函数也不可以返回数据集,这是MySQL

的限制。

解决办法是:将语句形式改为“SELECT f INTO @v FROM ...”。

此问题在MySQL官方网论坛上也有人提出,请参考链接:

http://forums.mysql.com/read.php?99,108159,108159

附加说明:

欲想通过一个SELECT语句对多个变量赋值,请采用以下语句形式:

SELECT id,name INTO @v1,@v2 FROM ...

0 0
原创粉丝点击