简单的MySQL命令为所有表更新一行

时间:2016-02-01 16:31:20

标签: mysql

我需要一个简单的(我希望)SQL命令的帮助。我需要为所有表更新一行。例如,我需要为所有表更改一个字段。

如果我手动更改字段,我会收到回复:

UPDATE  `mpsadmin_db1`.`website_owner` SET  `iWOPlanId` =  '6' WHERE  `website_owner`.`iWOwnerId` =134;

此命令更新iWOwnerId 134。

但我需要为所有iWOwnerId更新iWOPlanId。

2 个答案:

答案 0 :(得分:0)

注意:执行以下操作可以非常轻松地更改大量数据。小心!

如果要更新表中的所有行以使iWOPlanId为6,那么您可以不使用WHERE子句:

UPDATE  `mpsadmin_db1`.`website_owner` SET  `iWOPlanId` =  '6'

某些应用程序(如MySQL Workbench *)不会让你这样做(为了保护你),所以你可以通过这样做得到类似的结果:

UPDATE  `mpsadmin_db1`.`website_owner` SET  `iWOPlanId` =  '6' WHERE  `website_owner`.`iWOwnerId` > 0;

*如果您更改设置

答案 1 :(得分:0)

如果您打算更改一个表中的每一行,只需省略“where”子句:

只更新表website_owner中的一行(id为134的 ,因此该子句的名称):

UPDATE  `mpsadmin_db1`.`website_owner` 
   SET  `iWOPlanId` =  '6' 
 WHERE  `website_owner`.`iWOwnerId` =134;

更新表website_owner中的所有行:

UPDATE  `mpsadmin_db1`.`website_owner` 
   SET  `iWOPlanId` =  '6';