Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499

    Eliminare record se esiste

    Ragazzi durante l'liminazione di un record da una tabella devo eliminarne un'altro da un'altra tabella avente l'id in comune.
    La cosa è che nella tabella 2 non c'è sempre un record riferito al primario.

    C'è una sintassi per dire che nel caso esiste elimino, altrimento ignoro il comando?
    Oppure devo prima estrarre il dato dalla seconda tablla e farne un controllo?

  2. #2
    la delete funziona già come vuoi tu.
    Se trova i record da eliminare, lo fa, altrimenti non elimina niente senza per questo generare alcun errore.

    Se hai MySQL 4.1 o superiore puoi eliminare i record da entrambe le tabelle contemporaneamente con una sola query DELETE.

  3. #3
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Potresti dirmi qual'è la query?
    Grassie

    Ad ogni modo ho la versione 4.0.25
    Nel caso il server non l'avesse?

  4. #4
    è disponibile da MySQL 4.0, ricordavo male
    Puoi usare due sintassi diverse:

    DELETE t1, t2 FROM t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;

    DELETE FROM t1, t2 USING t1, t2, t3 WHERE t1.id=t2.id AND t2.id=t3.id;


    t1, t2 e t3 sono tabelle.

    Se hai una versione precedente fai due normali DELETE separate.

  5. #5
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Con la versione ci sto al pelo
    Grazie, perfette...

  6. #6
    la seconda delle due sintassi richiede 4.0.2 o superiore

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.