Mysql批量替换多个表的特定值

Mysql批量替换多个表的特定值,mysql,Mysql,我正在尝试解决如何在mysql中批量替换表中的值 在表1(kbb_类别描述)中,有一列带有“类别id”和“名称” 说ID 1带厨房门 在表2(kbb_类别)中有“类别id”和“库存”是0或1 我试图实现的是为以下内容传递一个查询 在kbb_类别描述中,如果“名称”=“厨房门”,则在kbb_类别中,同一行上匹配的“类别id”中的“库存”从0更改为1 但考虑到存在重复的“厨房门”,每个实例的id都从0更改为1 有没有办法做到这一点我不确定我是否完全清楚你在问什么。你试过这样的方法吗: update

我正在尝试解决如何在mysql中批量替换表中的值

在表1(kbb_类别描述)中,有一列带有“类别id”和“名称”

说ID 1带厨房门

在表2(kbb_类别)中有“类别id”和“库存”是0或1

我试图实现的是为以下内容传递一个查询

在kbb_类别描述中,如果“名称”=“厨房门”,则在kbb_类别中,同一行上匹配的“类别id”中的“库存”从0更改为1

但考虑到存在重复的“厨房门”,每个实例的id都从0更改为1


有没有办法做到这一点

我不确定我是否完全清楚你在问什么。你试过这样的方法吗:

update kbb_category as cat
join kbb_category_description as catdesc
  on cat.category_id = catdesc.category_id
set catdesc.in_stock = 1
where catdesc.in_stock = 0
  AND cat.name = 'Kitchen Door';

这几乎就是我想要的,但我需要表“kbb_category_description”中的“name”来匹配“Kitchen Door”,以便将表2中正确的“category_id”更新为“in_stock”@DavidSkinner是的,所以只需添加cat.name=“Kitchen Door”,我们将只更新表2中名为“Kitchen Door”的记录“在表1中#1064-您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,了解使用“desc on cat.category_id=desc.category_id set desc.in_stock=1 wher”的正确语法,在第2行使用MySQL 5.1.69和cent os6和php 5.3.3My道歉“desc”是mysql中保留的。谢谢,现在它已经起作用了。再次感谢!sql有25000个条目,这就减少了工作日