18

在 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 解决方案吗?

4

2 回答 2

33

这真的很容易:

UPDATE table SET age=age*2
于 2012-08-18T23:21:59.563 回答
7

是的,运行update

update theTable set age = age * 2

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

update theTable set age = age * 2 where 1 = 1
于 2012-08-18T23:21:42.573 回答