sql >> Database teknologi >  >> RDS >> Mysql

MySQL Update Query ved hjælp af en venstre joinforbindelse

Så du vil kun flytte mapper, hvis en mappe af samme navn under den overordnede mappe ikke gør det eksisterer:

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);

Sammenføjningsbetingelsen søger efter en mappe med samme navn under målforælderen. WHERE-sætningen tester, at der ikke findes en sådan mappe (f2.name er kun null, hvis den ydre join ikke finder noget match).



  1. Liste over alle midlertidige tabeller i SQLite

  2. NextForm v3:Fem muligheder for data- og databasemigrering

  3. Returner lagrede procedurer og funktioner i en SQL Server-database:RUTINER (T-SQL-eksempler)

  4. Importerer Mysql-database ved hjælp af Ruby/Chef-opskrift til Vagrant