Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di coteaz
    Registrato dal
    Mar 2006
    Messaggi
    365

    [MYSQL] consiglio su chiavi esterne

    Salve a tutti, vorrei un consiglio

    questa è la mia problematica; ho una tabella padre CATEGORIA e una tabella figlio PRODOTTO

    vorrei che quando cancello una CATEGORIA automaticamente vengano cancellati tutti i PRODOTTI associati

    PREMETTO che non viene mai effettuata una cancellazione fisica del record dal DB ma c'è un campo ACTIVE enum ('si','no') che viene impostato a no quando vorrei cancellare un record.

    dunque nella tabella PRODOTTO avrò le seguenti colonne
    id_prodotto, bigint 10
    id_categoria, bigint 10
    nome_prodotto, varchar 100
    active_prodotto, enum

    nela tabella CATEGORIA avrò le seguenti colonne
    id_categoria, bigint 10
    nome_categoria, varchar 100
    active_categoria, enum

    quindi quando setto ACTIVE CATEGORIA = NO nella tabella CATEGORIA dovranno essere impostati al valore di NO tutti i campi ACTIVE PRODOTTO della tabella PRODOTTO dove PRODOTTO.ID_CATEGORIA è uguale a CATEGORIA.ID_CATEGORIA

    quindi mi immagino una chiave on update cascade?

    nn so ho fatto delle prove ma ho dei problemi con le child_row

    mi date un consiglio? grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    update categoria as c
    inner join prodotto as p
    on c.id_categoria = p.id_categoria
    set c.active_categoria = 'no',
    p.active_prodotto = 'no'
    where c.id_categoria = x

  3. #3
    Utente di HTML.it L'avatar di coteaz
    Registrato dal
    Mar 2006
    Messaggi
    365
    quindi un'update semplice, senza fare alcuna chiave?

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.