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

Consulta de atualização do MySQL usando uma junção à esquerda


Portanto, você deseja mover pastas apenas se uma pasta com o mesmo nome na pasta pai de destino não existir:
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);

A condição de junção procura uma pasta com o mesmo nome no pai de destino. A cláusula WHERE testa se essa pasta não existe (f2.name é nulo somente se a junção externa não encontrar correspondência).