sql >> Database teknologi >  >> Database Tools >> phpMyAdmin

MySQL-OPDATERING med SUBQUERY af samme tabel

Du skal bruge en midlertidig tabel, fordi du ikke kan opdatere noget, du bruger til at vælge. Et simpelt eksempel:

Dette vil ikke virke :

UPDATE mytable p1 SET p1.type= 'OFFER' WHERE p1.parent IN 
    (SELECT p2.id from mytable p2 WHERE p2.actu_id IS NOT NULL);

Dette vil gøre jobbet:

UPDATE mytable p1 SET p1.type= 'OFFER' WHERE p1.parent IN 
    (SELECT p2.id from (SELECT * FROM mytable) p2 WHERE p2.actu_id IS NOT NULL);

"fra (SELECT * FROM mytable) p2" vil oprette en midlertidig duplikat af din tabel, som ikke vil blive påvirket af dine opdateringer



  1. Opdel sæt i ujævne procentsatser

  2. Uventet EOF stødt på i BCP-datafil

  3. Hvordan udtrækkes MSSQLServer-databasen som .dacpac uden VerifyExtraction?

  4. DBeaver 6.0 er et nyt stort skridt fremad