[SQL] dubbio funziomento "on delete"
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 6 di 6

Discussione: [SQL] dubbio funziomento "on delete"

Cambio titolo
  1. #1
    java is forever
    Ospite

    [SQL] dubbio funziomento "on delete"

    Vado subito al dunque

    Creo questa tabella:

    Codice:
    create table tags
    (
        id_snippet    integer references snippets(id_snippet) on delete cascade,
        tag_name      varchar(100)           ,    
        
        primary key (id_snippet, tag_name)
    );
    Ora ho un dubbio sul funzionamento di "on delete cascade". In pratica cosa succede se cancello dalla tabella "snippets" la riga che contiene "id_snippet"? Si cancellano tutte le righe di "tags" collegate? O accade il contrario (cancello il tag e si cancella lo snippet)?

    Io vorrei che quando cancello un snippet si cancellino tutti i suoi tag

    Grazie

  2. #2
    Illusione Umana L'avatar di Zurax
    Registrato il
    01-04
    Località
    Nel limbo
    Messaggi
    5.074
    dovrebbero cancellarsi anche tutti i record on relazione con esso...(sono rimanenze degli insegmanenti scolastici)...Ma può essere che mi sbaglio. Dovrebbe trattarsi dell'integrità referenziale, o qualcosa del genere

  3. #3
    Stufo L'avatar di nico402
    Registrato il
    01-06
    Messaggi
    5.779
    Citazione java is forever Visualizza Messaggio
    Vado subito al dunque

    Creo questa tabella:

    Codice:
    create table tags
    (
        id_snippet    integer references snippets(id_snippet) on delete cascade,
        tag_name      varchar(100)           ,    
        
        primary key (id_snippet, tag_name)
    );
    Ora ho un dubbio sul funzionamento di "on delete cascade". In pratica cosa succede se cancello dalla tabella "snippets" la riga che contiene "id_snippet"? Si cancellano tutte le righe di "tags" collegate? O accade il contrario (cancello il tag e si cancella lo snippet)?

    Io vorrei che quando cancello un snippet si cancellino tutti i suoi tag

    Grazie
    "jabbone curioso" [cit.]

    comunque a quanto mi è stato detto on delete cascade fa si che quando una riga che ad esempio ha id_snippet = 5 viene cancellata, in tutto il database vengono cancellate le righe ad essa correlate


  4. #4
    java is forever
    Ospite
    Citazione nico402 Visualizza Messaggio
    "jabbone curioso" [cit.]


    Citazione nico402 Visualizza Messaggio
    comunque a quanto mi è stato detto on delete cascade fa si che quando una riga che ad esempio ha id_snippet = 5 viene cancellata, in tutto il database vengono cancellate le righe ad essa correlate
    Quindi cancellando una riga con id_snippet = 5 cancello anche i tag legati allo snippet di id 5... Giusto?

  5. #5
    Puppppppaaaaaaaaaaa L'avatar di Revan1985
    Registrato il
    01-06
    Località
    Solbiate Olona
    Messaggi
    1.655
    si, anche in altre tabelle...
    È stato detto che la democrazia è la peggior forma di governo, eccezion fatta per tutte quelle altre forme che si sono sperimentate finora.


  6. #6
    java is forever
    Ospite
    Ok, ho fatto qualche test e sembra funzionare tutto come voglio

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •