
mysql 触发器中遇到的问题
触发器对插入操作出发另外一个表的操作,里面有句话selectidfromfeatureidwherefeatureid.feature=NEW.feature1into@...
触发器对插入操作出发另外一个表的操作,里面有句话
select id from featureid where featureid.feature = NEW.feature1 into @tmp_id;
当featureid.feature 有 NEW.feature1时候没错,但featureid.feature没有值的时候 就会报
No data - zero rows fetched, selected, or processed
可是放到一般写featureid.feature = 随便一个数 的时候也不会报错,只会返回null 。
更奇怪的是在别人的机器上没发生这个错误,是什么原因?MySQL版本过低?我的mysql是5.0的..... 展开
select id from featureid where featureid.feature = NEW.feature1 into @tmp_id;
当featureid.feature 有 NEW.feature1时候没错,但featureid.feature没有值的时候 就会报
No data - zero rows fetched, selected, or processed
可是放到一般写featureid.feature = 随便一个数 的时候也不会报错,只会返回null 。
更奇怪的是在别人的机器上没发生这个错误,是什么原因?MySQL版本过低?我的mysql是5.0的..... 展开
展开全部
我想应该是你的sql语句有问题, 我也遇到过,在公司的服务器上测试好了后, 然后放到外面服务器,报出了错误, 后来找到的原因是两个数据的对sql语句的要求不同, 有的数据库会把有些sql语句像 select * from table where id= 不会报错返回的值也是为空, 但有的数据库会直接报出错误,
我不知道是不是这个原因, 祝你尽快解决问题。
我不知道是不是这个原因, 祝你尽快解决问题。

2022-08-05 广告
苏州蓝晓生物科技有限公司。标准化核心产品:公司拥有完整的琼脂糖介质、葡聚糖介质、聚甲基丙烯酸酯介质生产线,年产分离介质50000L,产品质量稳定并达到国际领先水平。核心优势:公司核心技术人员拥有近二十年不同基质的基球开发和官能化的丰富技术经...
点击进入详情页
本回答由苏州蓝晓生物科技有限公司_提供
展开全部
1,创建触发器:t_afterinsert_on_tab1
作用:增加tab1表记录后自动将记录增加到tab2表中
create
trigger
t_afterinsert_on_tab1
after
insert
on
tab1
for
each
row
begin
if
new.tab1_id
is
not
null
then
insert
into
tab2(tab2_id)
values(new.tab1_id);
end
if;
end;
2,创建触发器:t_afterdelete_on_tab1
作用:删除tab1表记录后自动将tab2表中对应的记录删去
create
trigger
t_afterdelete_on_tab1
after
delete
on
tab1
for
each
row
begin
delete
from
tab2
where
tab2_id=old.tab1_id;
end;
2,创建触发器:t_afterupdate_on_a
作用:修改a表age字段后自动将b表中对应的age字段修改
create
trigger
t_afterupdate_on_a
after
update
on
a
for
each
row
update
b
set
age=new.age
where
id=new.id;
作用:增加tab1表记录后自动将记录增加到tab2表中
create
trigger
t_afterinsert_on_tab1
after
insert
on
tab1
for
each
row
begin
if
new.tab1_id
is
not
null
then
insert
into
tab2(tab2_id)
values(new.tab1_id);
end
if;
end;
2,创建触发器:t_afterdelete_on_tab1
作用:删除tab1表记录后自动将tab2表中对应的记录删去
create
trigger
t_afterdelete_on_tab1
after
delete
on
tab1
for
each
row
begin
delete
from
tab2
where
tab2_id=old.tab1_id;
end;
2,创建触发器:t_afterupdate_on_a
作用:修改a表age字段后自动将b表中对应的age字段修改
create
trigger
t_afterupdate_on_a
after
update
on
a
for
each
row
update
b
set
age=new.age
where
id=new.id;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询