mysql - 更新查询我有两个表

标签 mysql

我在 mysql 数据库中有两个表。 macs 和 deviceinventory 我想更新 macs 表列名称 deviceid = 1 但更新那些在 deviceinventory 表列设备 id 中找不到的记录我使用此查询但它给出错误

UPDATE macs SET deviceid = 1 
WHERE deviceid = (SELECT deviceid FROM macs NOT IN (
                     SELECT * FROM deviceinventory.`deviceid`
                 )) ;

最佳答案

UPDATE macs 
SET deviceid = 1 
WHERE deviceid IN (
  SELECT deviceid 
  FROM macs 
  WHERE deviceid NOT IN (
      SELECT deviceid 
      FROM deviceinventory
  )
 ) ;

关于mysql - 更新查询我有两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14580270/

相关文章:

mysql - 错误接近 LIMIT 但仅当我使用冒号时

php - SQL 查询匹配单个列中的多个值

c# - 从MySql中选择年龄并将其显示在Chart控件中

mysql - 选择在另一个表中找不到的字段值

mysql - 使用内连接和动态更新进行选择

mysql - 用于管理程序的 Liquibase

mysql - 如何将日期和日期时间与 Doctrine 进行比较

mysql - 如何统计MySQL中两个不同表的记录数

php - 获取组/线程/主题的 N 行

mysql - 如何获取mysql中每个用户出现次数最多的行