mysql - 根据另一个表中设置的条件更新数据库表?

标签 mysql sql database join inner-join

如何在 2 个表之间设置条件?

1 个表的 ID 值需要根据另一个表中设置的值进行更改。

我目前的查询...不知道它是否有效。

UPDATE table1 set value='2' INNER JOIN table2 WHERE CONVERT(value USING utf8) LIKE '%text%') 所以当第一个表中的值为 2 时,表中的相同项目2 将被分配到一个特定的类别。查询应检查表 2 中的 ID 是否与它在表 1 中找到的包含该值的 ID 相同。

最佳答案

您的代码看起来像 MySQL。如果是这样,正确的语法更像这样:

UPDATE table1 t1 INNER JOIN
       table2 t2
       ON t1.id = t2.id
    set t1.value = '2' 
WHERE CONVERT(t1.value USING utf8) LIKE '%text%');

您的问题在实际 JOIN 条件上有点含糊,但这是查询的结构。

关于mysql - 根据另一个表中设置的条件更新数据库表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45085467/

相关文章:

mysql - 电源故障和mysql崩溃

sql - 将嵌套键值添加到 Postgres 中的 JSONB

mysql - 为什么我使用这些 HQL 查询得不到任何数据?

java - CLOB 到二进制流的转换

mysql - 如何从文件插入 MySQL 数据库?

database - 第四范式和第五范式有什么区别?

C# 使用/连接到 webhost 中的 MySQL 数据库 (One.com)

php - UTF-8贯穿始终

mysql - 子查询问题

sql - 使用显式 create table 语句与 select into 创建表