[SQL / MySQL] Boom-structuur - foreign key parentid error *

Pagina: 1
Acties:

  • vdvleon
  • Registratie: Januari 2008
  • Laatst online: 08-06-2023
Hallo iedereen,

Ik ben bezig met een page tree te maken voor in mijn database. Omdat ik vanaf nu de database wat beter wil gaan inrichten maar ook voor het eerst in mijn leven gebruik van foreign key, maar loop tegen een probleepje op.

Ik heb een table:

- pageid
- parentid
- pagename
- ...

Ik heb een foreign key gemaakt van parentid naar pageid. Dus als een page word verwijdert dan worden alle 'childs' automatisch ook verwijdert. Maar er is een probleem, een nog al cruciaal probleem ;), ik krijg geen items in de database. Op zich eigenlijk wel logisch omdat er geen pageid=0 bestaat. Hoe zou ik dit oplossen (in MySQL) ?

Ik kan niet echt iets vinden op internet.

Alvast bedankt.

edit:


Oeps, ben goede titel vergeten, hoe kan ik deze veranderen?

[ Voor 5% gewijzigd door vdvleon op 24-09-2009 15:53 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:31

Creepy

Tactical Espionage Splatterer

Niks? Lijkt me heel sterk aangezien er wel vaker boomstructuren op deze manier worden opgeslagen. Dus waar heb je op gezocht dan? Tip: NULL

offtopic:
En geef in een TR aan hoe je je titel wilt hebben

[ Voor 20% gewijzigd door Creepy op 24-09-2009 15:55 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • vdvleon
  • Registratie: Januari 2008
  • Laatst online: 08-06-2023
Die tip NULL deed het hem ;) Bedankt

Heb het als volgt opgelost, ik heb op de parent key een default = NULL gezet, zodat als je niks opgeeeft hij hem toch accepteerd.

offtopic:
De titel moet worden:

[SQL / MySQL] Boom-structuur - foreign key parentid error

[ Voor 25% gewijzigd door vdvleon op 24-09-2009 16:08 ]


  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
ik heb op de parent key een default = NULL gezet
Dat is overbodig, wanneer je niks invult, is er niks bekend over een waarde en heb je dus automatisch NULL te pakken. NULL is altijd de default wanneer je geen andere default opgeeft, dat kan niet anders.

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Dat iets impliciet hetzelfde zou zijn betekent nog niet dat je het niet expliciet mag definieren. ;) Prima zelfs, want dan geef je aan over de default nagedacht te hebben. :)

{signature}