扫码关注官方订阅号
我有一个学生成绩表 最后一列是每个学生所有科目之和,mysql帮我自动求的和,该怎么建表?求具体写法。
ringa_lee
你可以建一个mysql view来做这个事情,https://dev.mysql.com/doc/refman/5.0/en/create-view.html
但推荐还是在应用里做这个工作,把mysql当成单纯的存储会更好
不推荐这么做。非得要这么做的话,你可以多加个触发器,就是插入数据的时候触发求和功能。
CREATE TABLE test (id INT NOT NULL AUTO_INCREMENT,a INT NULL,b INT NULL,c INT NULL,all INT NULL DEFAULT 0, PRIMARY KEY (id));
test
id
a
b
c
all
INSERT INTO test VALUES(null,100,77,66,null); INSERT INTO test VALUES(null,99,63,59,null);
所有数据插入完以后, 执行以下语句 SET SQL_SAFE_UPDATES = 0; #关闭safe mode
UPDATE test t1 , test t2 SET t1.total = t2.a + t2.b + t2.c WHERE t1.id = t2.id
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你可以建一个mysql view来做这个事情,https://dev.mysql.com/doc/refman/5.0/en/create-view.html
但推荐还是在应用里做这个工作,把mysql当成单纯的存储会更好
不推荐这么做。非得要这么做的话,你可以多加个触发器,就是插入数据的时候触发求和功能。
CREATE TABLE
test(idINT NOT NULL AUTO_INCREMENT,aINT NULL,bINT NULL,cINT NULL,allINT NULL DEFAULT 0,PRIMARY KEY (
id));INSERT INTO
testVALUES(null,100,77,66,null);INSERT INTO
testVALUES(null,99,63,59,null);所有数据插入完以后, 执行以下语句
SET SQL_SAFE_UPDATES = 0; #关闭safe mode
UPDATE test t1 , test t2
SET t1.total = t2.a + t2.b + t2.c
WHERE t1.id = t2.id