数据库(特别是MySQL,任何SQL - MS,Oracle,Postgres - 一般)可以进行大规模更新,并自己弄清楚新值应该是什么?比方说,我有一个包含大量计算机信息的数据库,所有这些计算机都有各种大小的驱动器 - 从20到250 GB不等.然后有一天我们通过添加一个120 GB的硬盘来升级每台计算机.有没有办法说出类似的话
update computers set total_disk_space = (whatever that row's current total_disk_space is plus 120)
Run Code Online (Sandbox Code Playgroud)
Ste*_*ton 10
对于整个表格,那么:
Update Computers
Set Total_Disk_Space = Total_Disk_Space + 120;
Run Code Online (Sandbox Code Playgroud)
如果,您只想更新某些,那么您需要过滤器,例如:
Update Computers
Set Total_Disk_Space = Total_Disk_Space + 120
Where PurchaseDate BETWEEN '1/1/2008' AND GETDATE();
Run Code Online (Sandbox Code Playgroud)