填充数据库中的空列

时间:2016-01-21 10:43:56

标签: mysql sql sql-server

我需要使用从其他2列计算的值填充货币值列。

所以:

original_value    amount         new_value
12                  2             NULL
10                  1             NULL

这将成为:

original_value    amount         new_value
12                  2             24
10                  1             10

我只想更新NULL列。

这需要适用于SQL Server和MYSQL!

3 个答案:

答案 0 :(得分:4)

正如我在评论中所说; 不存储计算值(来自其他列。)冗余,未规范化,数据不一致的风险!改为创建一个视图 - 永远是最新的!

create view viewname as
select original_value, amount, original_value * amount as new_value
from tablename

SQL Server已计算列,执行以下操作:

alter table tablename add new_value as original_value * amount

答案 1 :(得分:2)

只需使用UPDATE

即可
UPDATE table_name 
SET new_value = (original_value * amount) 
WHERE new_value IS NULL

答案 2 :(得分:1)

你可以试试这个

UPDATE 
  table_name 
  SET  new_value = original_value * amount 
WHERE 
  new_value is null