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

Consulta de actualización de MySQL usando una combinación izquierda

Por lo tanto, desea mover carpetas solo si una carpeta con el mismo nombre debajo de la carpeta principal de destino no existe:

UPDATE file_manager_folder f1
LEFT OUTER JOIN file_manager_folder f2 
    ON f1.name = f2.name AND f2.parentId = 54
SET f1.parentId = 54 
WHERE f2.name IS NULL AND f1.id IN (1,2,3);

La condición de combinación busca una carpeta con el mismo nombre en el elemento principal de destino. La cláusula WHERE prueba que no existe dicha carpeta (f2.name es nulo solo si la combinación externa no encuentra ninguna coincidencia).