Пакетное обновление MySQL

У меня есть 2 таблицы (MySQL)

  1. data_details
  2. accounts_invoices

В идеале каждый data_details должен иметь идентификатор account_invoices. (data_details имеет внешний ключ с первичным ключом accounts_invoices)

По какой-то причине есть записи data_details, в которых account_invoice_id не существует в таблице accounts_invoices

Поэтому я попытался обновить эти записи data_details с помощью известного идентификатора accounts_invoice. это то, что я сделал

update data_details 
set account_invoice_id = 1
where account_invoice_id in (
  select d.id
  from data_details d left join accounts_invoices a
  on d.account_invoice_id = a.id
  where a.id is null    
)

Но возникает ошибка

Вы можете указать целевую таблицу data_details для обновления в предложении FROM (ошибка 1093)

может кто-нибудь мне помочь, заранее спасибо

ура

sameera

5
задан Juan Mellado 4 May 2012 в 13:30
поделиться