Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [SQL -MySql] delete di record che non funziona

    ho una tabella con i seguenti dati:

    codice:
     DataOra                Stato         NTel          Id       IdTab    
     ---------------------  ------------  ------------  -------  -------- 
     07/11/2005 - 15.28.22  SYSTEM ERROR  39xxxx        0000049  1          
     07/11/2005 - 15.29.05  QUEUED        39349588****  0000050  2
     07/11/2005 - 15.29.12  DELIVERED     39349588****  0000050  3
    Io vorrei eliminare i campi con lo stesso numero di telefono che hanno come stato tutto tranne 'DELIVERED' o 'REJECTED' o 'EXPIRED'.
    Nel caso specifico il campo con idtab = 2 dovrebbe venir cancellato

    Ho creato la seguente SQL:
    codice:
    DELETE FROM Reportfile WHERE Stato NOT IN ('DELIVERED', 'REJECTED', 'EXPIRED') 
    AND nTel IN (SELECT nTel FROM reportfile WHERE Stato IN ('DELIVERED', 'REJECTED', 'EXPIRED'))
    ma non funziona: You can't specify target table 'reportfile' for update in FROM clause.
    EX Mentecatto - succube della Honda
    Le mie foto|HONDA CLUB ITALIA!|DARTH LEGNANZ!

  2. #2
    leggendo qui: http://dev.mysql.com/doc/refman/5.0/...trictions.html

    ho capito che effettivamente le subquery negli insert/update/delete non sono ammesse sulla stessa tabella da modificare.

    però fanno anche il seguente esempio per superare il problema:
    codice:
    UPDATE t ... WHERE col = (SELECT (SELECT ... FROM t...) AS _t ...);
    ma pure avendo creato un alias sulla mia select, mi viene generato lo stesso identico errore. :master:
    EX Mentecatto - succube della Honda
    Le mie foto|HONDA CLUB ITALIA!|DARTH LEGNANZ!

  3. #3
    ho risolto facendo prima la select, salvando i dati in un array e poi facendo il delete, il tutto messo in una transaction...
    non sarò il massimo ma funziona.
    EX Mentecatto - succube della Honda
    Le mie foto|HONDA CLUB ITALIA!|DARTH LEGNANZ!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.