gpt4 book ai didi

mysql - mysql触发器的写法

转载 作者:行者123 更新时间:2023-11-29 02:28:26 25 4
gpt4 key购买 nike


有两个表
表格 A

如果用户使用这个查询“insert into A values(abc,1,50);”

然后触发器应该检查“表 B”中的学生姓名,如果学生姓名已经存在于“表 B”中,那么更新表 B 中的“all_marks”字段,例如,“all_marks”应为 60

如果 student_name "abc"不在 "table B"中,那么应该将相同的 student_name ,student_class, student_marks 插入到表 B

delimiter $$
create trigger insert_into_summary
after insert on A
for each row
begin
if
//** here i want to write the if condition **
insert into B (name,class,overall_marks)
values(new.name,new.class,new.marks,);
else
update B set all_marks=old.all_marks+new.student_marks;
end $$
delimiter ;

请帮助我如何编写触发器。

最佳答案

您可以使用 On Duplicate Key Update 来简化此操作.在学生姓名/ID 上添加唯一键,然后在触发器中使用以下代码

begin
insert into summary_score (name,number,all_marks)
values(new.name,new.marks,new.score)
on duplicate key update all_marks=old.all_marks+new.student_marks
where B.Name=new.Name;
end $$

关于mysql - mysql触发器的写法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17145185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com