在SQL中将列中的每个条目乘以固定数字

dpl*_*net 7 sql

在SQL中,假设我有一个以下布局的表:

id    name      age
1     george    12
2     tom       14
3     charles   19
4     henry     21
5     fiona     12
6     kate      14
...
Run Code Online (Sandbox Code Playgroud)

如果我发现我犯了一个可怕的输入错误,并且每个人实际上都是他们年龄的两倍,那么有没有办法age在一次扫描中将列乘以2而不需要费力地遍历整个列并单独编辑每个年龄(假装我有500个条目,因此手动工作是不可能的).

有SQL解决方案吗?

mim*_*pus 22

这真的很容易:

UPDATE table SET age=age*2
Run Code Online (Sandbox Code Playgroud)


Guf*_*ffa 7

是的,运行一个update:

update theTable set age = age * 2
Run Code Online (Sandbox Code Playgroud)

根据数据库中的设置,您可能不允许在update没有a 的情况下运行where(以防止错误),然后您将添加虚拟比较:

update theTable set age = age * 2 where 1 = 1
Run Code Online (Sandbox Code Playgroud)