2

データベース (特に MySQL、任意の SQL -- MS、Oracle、Postgres -- 一般に) は大量の更新を実行し、新しい値がどうあるべきかを独自に判断できますか? たとえば、多数のコンピューターに関する情報を含むデータベースがあり、これらすべてのコンピューターにはさまざまなサイズ (20 GB から 250 GB まで) のドライブがあるとします。そしてある日、120 GB のハード ドライブを追加して、すべてのコンピューターをアップグレードしました。みたいな言い方ってありますか?

update computers set total_disk_space = (whatever that row's current total_disk_space is plus 120)
4

3 に答える 3

10

テーブル全体の場合:

Update Computers 
Set Total_Disk_Space = Total_Disk_Space + 120;

特定のものだけを更新したい場合は、次のようなフィルターが必要です。

Update Computers
Set Total_Disk_Space = Total_Disk_Space + 120
Where PurchaseDate BETWEEN '1/1/2008' AND GETDATE();
于 2008-09-17T02:32:04.360 に答える
2

うん:

update computers set total_disk_space = total_disk_space + 120;
于 2008-09-17T02:30:58.887 に答える
2

あなたの例では、 total_disk_space が INT の場合、次を使用できます。

UPDATE computers
SET total_disk_space = total_disk_space + 120;

文字データを保存している場合は、はるかに興味深いものになります。

于 2008-09-17T02:34:11.950 に答える