更新查询我有两个表

时间:2013-01-29 10:05:03

标签: mysql

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:-1)

试试这个:

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