Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764

    Cancellare prodotti correlati

    Ho una tabella (di prodotti) con i seguenti campi:

    id
    codice
    descrizione
    confezione
    ...
    correlato1
    correlato2
    correlato3
    correlato4
    correlato5
    correlato6


    Nei campi correlati ci sono gli id di altri record (prodotti) della stessa tabella che sono "correlati" a quello corrente.
    Quando un prodotto non ha prodotti correlati, i campi correlato1, correlato2,..., correlato6 hanno valore zero (0).

    Il mio problema è questo: se cancello un prodotto, vorrei prima controllare se quel prodotto è presente come prodotto correlato in uno qualsiasi degli altri record di questa tabella e, nel caso in cui lo fosse, mettere il valore a 0.

    Esempio.
    Cancello il record con id=15
    Però 15 potrebbe essere prodotto correlato1 per il record con id=5 e magari correlato4 per il record con id=12. Se cancello 15, nei record 5 e 12 saranno indicati dei prodotti che non esistono. Vorrei quindi, prima di cancellare id=15, impostare a 0 il campo correlato1 del record id= 5 e a 0 il campo correlato4 del record con id=12.

    Spero di essermi spiegato...

    Qualcuno ha qualche suggerimento?

    Grazie!!!

  2. #2
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    beh di per se non è complicatissimo, una volta che hai l'id del prodotto cancelli il prodotto con una delete, e poi fai un update sugli altri.

    se è questo quello che intendi...
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Grazie per la risposta.

    Ho l'id del prodotto che voglio cancellare. E fin qui ci siamo.

    Tu dici che devo fare un update... ma come? E' questo il problema!

    Devo controllare se quell'id è presente nei campi correlato1, correlato2,..., correlato6 degli altri record... qualche suggerimento per far questo?

  4. #4
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    si, certo.

    ora, l'ordine temporale è indifferente credo.

    quindi, quando vuoi portare a zero i record che contengono quell'id fai una query di update, infine per cancellare il prodoto fai una query di delete.

    questo il concetto che adopererei io...
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Grazie, ho risolto.

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