Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338

    [mySql] Clausola EXISTS in DELETE

    mi chiedo come sia possibile usare la clausola EXISTS in una istruzione di DELETE, sul manuale non trovo nulla e scrivendo

    DELETE FROM operatori WHERE IDOperatore = 3 AND EXISTS (SELECT IDOperatore FROM operatori WHERE IDOperatore <> 3)

    si ottiene

    Query non valida: You can't specify target table 'operatori' for update in FROM clause

  2. #2
    la select annidata e' prerogativa di select... al limite usa IGNORE

    se poi volevi cancellare l'id 3 e gli id se esistono diversi da 3 ...

    tanto valeva fare:

    DELETE FROM operatori

    e tanti saluti al secchio ...



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338
    beh, avrebbe senso anche in DELETE, ecc.

    lo scopo è:
    cancello ID solo se nella tabella rimangono altri record

    IGNORE che fa?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338
    up

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    La strada da percorrere e' quella di una stored procedure per essere sicuro di non avere problemi di concorrenza.

    Altrimenti fai il COUNT a mano prima della DELETE e speri nella buona sorte.
    There are 10 types of people in the world - those who understand binary and those who don't.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.