说我在mysql中有以下表格:
表:height_storage
|----|--------|--------|--------------|
| id | height | buffer | total_height |
|----|--------|--------|--------------|
| 0 | 120 | 100 | |
| 1 | 180 | 120 | |
| ... |
|----|--------|--------|--------------|
我试图找到一种方法来运行单个查询,通过将total_height
设置为height + buffer
的值来更新表格中的每一行。
在查询运行后它应该看起来像这样
|----|--------|--------|--------------|
| id | height | buffer | total_height |
|----|--------|--------|--------------|
| 0 | 120 | 100 | 220 |
| 1 | 180 | 120 | 300 |
| ... |
|----|--------|--------|--------------|
答案 0 :(得分:0)
您只需要使用两个元素的总和进行更新:
UPDATE height_storage
set total_height=height+buffer
但是您可能需要在使用查询之前关闭安全模式,因为您没有使用WHERE子句而不使用密钥:
SET SQL_SAFE_UPDATES = 0;
UPDATE height_storage
set total_height=height+buffer