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

标签 mysql

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

在表 1 (kbb_category_description) 中,有一列包含“category_id”和“name”

说出带有厨房门的 ID 1

表 2 (kbb_category) 中的“category_id”和“in_stock”为 0 或 1

我想要实现的是为以下内容传递的查询

在 kbb_category_description 中,如果“name”=“Kitchen Door”,则在 kbb_category 中同一行上匹配的“category_id”,“in_stock_ 从 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';

关于Mysql批量替换多个表的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19058739/

相关文章:

mysql - SQL - 仅选择一种特定类型

java - 实体副本已分配给不同的实体(Spring/Hibernate)

php - HTML/PHP 表单被取消并隐藏?

mysql - 使用插入编辑列中的数据?

mysql - 在这种特定情况下是否需要主键?

Mysql多连接计数

mysql - 如何在 UPDATE 语句中使用用户定义的变量?

php - 对非对象调用成员函数execute()

php - 在 MySQL 中搜索多个单词

mysql - 更改所有表中的列数据类型