sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo reescribo esta consulta de MySQL para que no arroje este error:no puede especificar la tabla de destino 'crawlLog' para la actualización en la cláusula FROM?

¿Por qué usar una subselección? INSERTAR EN... SELECCIONAR 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

Y de esa manera no debería quejarse de usar una tabla tanto en la parte INSERT como en la parte SELECT