MYSQL-我想在MySQL数据库中添加一个名为“ total_marks”的列

时间:2019-09-19 12:54:59

标签: mysql database

MYSQL-我想在 mysql数据库中添加一列名为“ total_marks”的列,方法是通过在同一行中插入其他列的标记来自动插入其值,因此其他列是五个主题的标记,而我不想手动添加所有内容然后插入total_marks,它在功能上应依赖于其他五列,那么该怎么做呢?可以说表名是标记,而六列中的五列是 english,印度语,数学,科学,社会和第六列是“ total_marks” 。我必须手动执行此操作??

1 个答案:

答案 0 :(得分:0)

步骤1:创建表格

CREATE TABLE student
(
name varchar(25),
english int(11),
hindi int(11),
maths int(11),
science int(11),
social int(11),
total_marks int(11)
);

第2步:创建触发器

DROP TRIGGER IF EXISTS before_mark_insert;

DELIMITER $$

CREATE TRIGGER before_mark_insert
BEFORE INSERT ON student
FOR EACH ROW
BEGIN
   SET NEW.total_marks = NEW.english + NEW.hindi + NEW.maths + NEW.science + NEW.social;

END$$

DELIMITER ; 

步骤3:

    INSERT INTO student  INSERT INTO student (name,english,hindi,maths,science,social)
VALUES('Karthi',70,80,60,35,50);
  • 插入英语,印度语,数学,科学和社会商标。
  • 上面的触发器将执行total_marks。

检查表格

SELECT * FROM student;