在MySQL数据库的触发器程序中,如果使用“SELECT @v := f FROM...”形式的语句给变量赋值,执行时会报错,提示:“Not allowed to return a result set from atrigger”。
SELECT f INTO @v FROM ...
SELECT id,name INTO @v1,@v2 FROM ...
#set @user_ID = @@IDENTITY; #使用set把刚插入的id赋值给变量
select LAST_INSERT_ID() into @user_ID; #把select结果赋值给变量, select 字段名 into 变量名 form 表名....
insert into table_order (order_Uid,order_Owner) value(@user_ID, '我是触发器创建的');
end;
#在创建触发器的表里操作, 比如触发条件为插入. 然后在代码块里又插入. 简直作死, 报错删除触发器就好了
华旅网络 |