Meddelande

Minska
No announcement yet.

Radera poster i relationstabell när huvudposten raderas?

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Radera poster i relationstabell när huvudposten raderas?

    Hej!

    Jag har fyra tabeller:
    projects (p_id)
    items (i_id, i_p_id)
    tools (t_id)
    tools_rel (tr_i_id, tr_t_id)

    Poster i items knyts till projects via i_p_id och tools knyts till items via tools_rel.

    När jag raderar en post i items eller i tools är det enkelt att även radera länkade poster i tools_rel eftersom bådas id finns där, men hur gör jag om jag vill radera relationsposterna när jag raderar ett projekt?

    När man raderar ett projekt så ska länkade items också försvinna (enkelt) plus relationer (inte lika enkelt), men de enda lösningarna (som jag ser) på att radera från relationstabellen är att antigen lägga in projekt-id i relationstabellen (känns redundant) eller att köra en select och en loop på items i samband med raderingen (känns tungt och omständligt). Finns det något smartare sätt för det här?

    Tack för tips!
    bassebhu - din kompis bland kompisar

    Om du mot förmodan inte är nöjd med kompositionen av ovanstående inlägg,
    eller att det helt enkelt inte nådde upp till dina förväntningtar - var god:

    Rapportera till bassebhu

  • #2
    Detta ska du göra först, innan du tar bort data ur projects och items...

    DELETE REL FROM TOOLS_REL REL
    INNER JOIN ITEMS IT ON REL.tr_i_id=IT.i_id
    INNER JOIN PROJECTS P ON IT.i_p_id=P.p_id
    WHERE P.p_id=<ditt projektid>
    Writing programs that get things done is good. You’ll never make it as a C# programmer if your programs don’t actually do something — unless, of
    course, you’re a consultant.

    Kommentera


    • #3
      Ah, man kan ju köra join i delete också. Tänkte inte på det. Tack!!
      bassebhu - din kompis bland kompisar

      Om du mot förmodan inte är nöjd med kompositionen av ovanstående inlägg,
      eller att det helt enkelt inte nådde upp till dina förväntningtar - var god:

      Rapportera till bassebhu

      Kommentera

      Working...
      X