Autor Zpráva
janbarasek
Profil
Ahoj,

mám tabulku dotazů na webovém fóru, její kompletní struktura není v rámci tohoto dotazu podstatná. Nicméně obsahuje tyto důležité sloupce:
ID          | + auto increment
user        | cizí klíč na tabulku "users" na sloupec "ID" (obsahuje ID uživatele, který se ptá)
last_answer | cizí klíč také na tabulku "users" na sloupec "ID" (obsahuje ID uživatele, který naposledy odpověděl)

Problém je, že při ukládání nového dotazu dostávám tuto chybu: Cannot add or update a child row: a foreign key constraint fails...

Rozumím tomu tak, že potřebuje pro sloupec last_answer striktně definovat ID uživatele z tabulky "users".
OK, ale co když takový uživatel (zatím) neexistuje a bude přidán časem?
Napadlo mě, že bych to mohl udělat bez relace, ale to se mi nezdá jako vhodné řešení, protože používám Nette Database, která relace ke své správné činnosti vyžaduje.
Také bych mohl možná založit nějakého univerzálního uživatele s ID = 0 a používat jej pro "neexistující odpověď", ale to je asi prasárna, že? Co myslíte?

Děkuji za všechny nápady.
Kajman
Profil
Pokud uživatel neexistuje, použijte null hodnotu.
janbarasek
Profil
Kajman:
Díky moc, to funguje.

Celou dobu jsem se tam snažil dostat číslo 0, které to nechtělo vzít.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0