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

MySQL UPDATE met SUBQUERY van dezelfde tabel

U moet een tijdelijke tabel gebruiken, omdat u iets dat u gebruikt om te selecteren niet kunt bijwerken. Een eenvoudig voorbeeld:

Dit werkt niet :

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

Dit zal het werk doen:

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

"from (SELECT * FROM mytable) p2" zal een tijdelijke duplicaat van uw tabel maken, die niet wordt beïnvloed door uw updates



  1. [Docker]:PHPMyAdmin verbinden met MySQL werkt niet

  2. Geen toegang tot MySQL-databases na upgrade naar Mountain Lion (met MAMP)

  3. SQL:tabellen met prefix verwijderen

  4. phpMyAdmin meldt 'Geen rechten'