Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como faço para reescrever esta consulta MySQL para que ela não lance este erro:Você não pode especificar a tabela de destino 'crawlLog' para atualização na cláusula FROM?


Por que usar uma Subseleção? INSERT INTO ... SELECT existe:
INSERT INTO crawlLog (companyId, timeStartCrawling)
SELECT companies.id, NOW()
FROM companies
LEFT OUTER JOIN crawlLog
ON companies.id = crawlLog.companyId
WHERE crawlLog.companyId IS NULL
LIMIT 1

E dessa forma não deve reclamar de usar uma tabela tanto na parte INSERT quanto na parte SELECT