我正在尝试在MySQL中添加列并动态填充其他列。
e.g 我有一张桌子'数字' 并列第1列,第2列,第3列,其中总数应填入第4列
答案 0 :(得分:0)
试
select field_1, field_2, field_3, (field_1+field_2+field_3) as field_4 from your_table
答案 1 :(得分:0)
除非我误解你的问题,否则你不是在寻找:
UPDATE numbers SET column4 = (column1 + column2 + column3);
这会将表数字的所有行中的column4
更新为前3列的总和。
或者,您也可以在SELECT
期间进行添加:
SELECT column1, column2, column3, (column1 + column2 + column3) AS column4 FROM numbers;
在这种情况下,您不需要数据库表中的实际column4。
修改强> 要在每次更新其他列之一时更新column4,您可以使用触发器:https://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html(其实是链接文档中非常相似的示例。)
但是要小心使用触发器,不是因为它们本身就有任何错误 - 根本不是 - 但是因为使用它们有时会将属于代码的逻辑移动到难以定位,调试和保持版本控制。