在SQL中,假设我有一个包含以下布局的表:
id name age
1 george 12
2 tom 14
3 charles 19
4 henry 21
5 fiona 12
6 kate 14
...
如果我发现自己犯了一个可怕的输入错误,而且每个人实际上都是他们年龄的两倍,那么有没有办法在一次扫描中将age
列乘以2而不需要经过艰苦的努力整个列并单独编辑每个年龄(假装我有500个条目,因此手动工作是不可能的)。
是否有SQL解决方案?
答案 0 :(得分:22)
这很简单:
UPDATE table SET age=age*2
答案 1 :(得分:7)
是的,运行update
:
update theTable set age = age * 2
根据数据库中的设置,可能不允许在没有update
的情况下运行where
(以防止错误),然后您将添加虚拟比较:
update theTable set age = age * 2 where 1 = 1