18

SQL で、次のレイアウトのテーブルがあるとします。

id    name      age
1     george    12
2     tom       14
3     charles   19
4     henry     21
5     fiona     12
6     kate      14
...

私がひどい入力ミスをしてしまい、全員が実際には年齢の 2 倍であることに気付いた場合、age列全体を入念に調べて各年齢を個別に編集する代わりに、1 回のスイープで列を 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なしでを実行できない場合があります。その場合は、ダミーの比較を追加します。where

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