mysql - SQL:仅使用 UPDATE 的一个查询中所有列的总和
问题描述
我在大学得到了这个任务。我的任务是用值填充表的新(尚不存在)列:col1 + col2 + col3,仅使用一个基于MySQL中运算符UPDATE的查询。结果,我将有 4 列(col1、col2、col3、sum_of_columns)的表。
如果 UPDATE 只修改现有行,我该怎么做?
解决方案
如果新列始终是三列的总和,您可以这样做
ALTER TABLE table1
ADD COLUMN `sum_of_columns` INT GENERATED ALWAYS AS (col1+col2+col3) STORED NULL;
这将是默认值。
当您插入一行时,这将在您将 NULL 添加为第 4 列时添加
推荐阅读
- sql-server - 无法执行请求的操作,因为链接服务器“SSAS”的 OLE DB 提供程序“MSOLAP”不支持所需的接口
- greasemonkey - 为具有特定内容的所有链接添加用户样式?
- bash - 在 Bash 中获取非单调递增的字段
- mysql - MySQL(存储过程)更新行状态列然后选择更新的行限制 100
- java - 具有非平凡子类树的 Java 构建器模式
- hadoop - Hadoop 集群 - 重启后 Hive 无法启动
- php - Symfony 2 命名空间错误仅在生产中(“尝试加载类...)
- c# - Font Awesome 用户控件文本绑定 [Xamarin]
- ssh - Ansible - 在剧本执行期间更改 SSH 用户
- r - 在R中通过ifelse创建向量