Запрос на обновление у меня есть два стола в a

У меня есть два стола в MySQL базе данных. макинтоши и deviceinventory, я хочу обновить название столбца таблицы макинтошей deviceid =1, но обновить те reords, которые не найденный в deviceinventory id устройства столбца таблицы я использую этот вопрос, но это дает ошибку

UPDATE macs SET deviceid = 1 
WHERE deviceid = (SELECT deviceid FROM macs NOT IN (
                     SELECT * FROM deviceinventory.`deviceid`
                 )) ;
1
nl ja de
Вы помещаете В заявление в вашем подзапросе Select. Затем необходимо поместить ГДЕ deviceid В вместо ГДЕ deviceid =
добавлено автор Billy McNuggets, источник

2 ответы

UPDATE macs 
SET deviceid = 1 
WHERE deviceid IN (
  SELECT deviceid 
  FROM macs 
  WHERE deviceid NOT IN (
      SELECT deviceid 
      FROM deviceinventory
  )
 ) ;
2
добавлено
Что показывает ошибка?
добавлено автор Kevin Bowersox, источник
Вы Can' t определяют целевой стол ' macs' для обновления из пункта это ошибочное шоу: (
добавлено автор user2005467, источник

попробуйте это:

UPDATE 
   macs 
SET 
   deviceid = 1 
WHERE 
   deviceid NOT IN 
     (SELECT deviceid FROM deviceinventory);
1
добавлено
Этот вопрос будет работать, но я думаю он won' t делают точно, что вы ожидаете...
добавлено автор Billy McNuggets, источник
DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
1 345 участник(ов)

Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.

MySQL
MySQL
995 участник(ов)

The group is about MySQL. For code use hastebin.com. Admin: @smlkw