在MYSQL上运行更新

时间:2011-10-13 13:46:04

标签: php mysql

假设我拥有数百万行的数据库,我想创建php批处理文件,对所有行都应用某些更改。

示例:假设我们有数百万个这样的数据库行(id-cat-subcat)

INSERT INTO `drink` VALUES (1, 'Non-Alcoholic', 'tea');
INSERT INTO `drink` VALUES (2, 'Non-Alcoholic', 'tea');
INSERT INTO `drink` VALUES (3, 'Non-Alcoholic', 'coffee');
INSERT INTO `drink` VALUES (4, 'Non-Alcoholic', 'pepsi');

所以我想要php命令说

只有cat ='非酒精'并且有subcat ='茶'做猫从猫改变='非酒精'到猫='茶'

所以最终结果将是

INSERT INTO `drink` VALUES (1, 'tea', 'tea'); 
INSERT INTO `drink` VALUES (2, 'tea', 'tea'); 
INSERT INTO `drink` VALUES (3,'Non-Alcoholic', 'coffee'); 
INSERT INTO `drink` VALUES (4,'Non-Alcoholic', 'pepsi');

谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

以下SQL查询将执行您想要的替换:

UPDATE `drink`
  SET cat = 'tea'
  WHERE cat    = 'Non-Alcoholic'
    AND subcat = 'tea'

用你在PHP中使用的任何MySQL绑定包装起来。