这个问题在这里已经有答案了:
我如何在mysql中编写一个用户定义的函数,这样当我从一个表中删除一行时,另一个表中的特定行也会被删除(3个答案)
两年前关门了。
CREATE TABLE `student`
(
`student_id` int(5) NOT NULL AUTO_INCREMENT,
`student_first_name` varchar(30) not null,
`student_lase_name` varchar(30) not null,
`student_roll_no` int(5) not null,
`student_class` int(2) not null,
PRIMARY KEY (`student_id`)
);
CREATE TABLE `result_sheet`
(
`student_id` int(5),
`student_first_name` varchar(30),
`student_lase_name` varchar(30),
`student_roll_no` int(5),
`student_class` int(2),
`mid_1_english` int(2),
`mid_2_english` int(2),
`mid_1_mathematics` int(2),
`mid_2_mathematics` int(2),
`mid_english` int(2),
`mid_mathematics` int(2),
`semester_final_english` int(2),
`semester_final_mathematics` int(2),
`total_english` int(2),
`total_mathematics` int(2),
`total` int(3),
foreign key (student_id) references student(student_id) on delete cascade
);
delimiter $$
create trigger result_sheet_insert_trigger
after insert on student
for each row
begin
insert into result_sheet(student_id, student_first_name, student_lase_name, student_roll_no, student_class, mid_1_english, mid_2_english, mid_1_mathematics, mid_2_mathematics, mid_english, mid_mathematics, semester_final_english, semester_final_mathematics, total_english, total_mathematics, total)
values (new.student_id, new.student_first_name, new.student_lase_name, new.student_roll_no, new.student_class, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
end$$
delimiter ;
我想为每一行存储midïU 1ïenglish和midïU 2ïenglish的平均值。我该怎么做?假设我有12个中考英语和20个中考英语。然后我想把16作为中英文存储在结果表上。
1条答案
按热度按时间brvekthn1#
试试这个: