Autor Zpráva
Neas
Profil
Ahoj.
Mám problém s nastavením cizího klíče. Potřebuji sloupec "author_id" z novinek spojit s id příslušného uživatele. Rád bych také, aby se při smazání uživatele hodnota z novinek nastavila na výchozí (0). Po spuštíní následujícího příkazu mi však vyskočí chyba 1005:
ALTER TABLE `web_news` ADD FOREIGN KEY ( `author_id` ) REFERENCES `forum_users` (`user_id`) ON DELETE SET DEFAULT;
když DEFAULT nahradím za NULL, cizí klíč se bez problému nastaví. Co může způsobovat, že mysql nechce nastavovat defaultní hodnotu, když s null nemá problém?
Děkuji
Kajman
Profil
Existuje uživatel s id 0?
Neas
Profil
neexistuje, ale když jsem tam zkoušel dát id = 1, tak se to chovalo naprosto stejně.
Kajman
Profil
Tak to asi není podporované...
SET DEFAULT: This action is recognized by the parser, but InnoDB rejects table definitions containing ON DELETE SET DEFAULT or ON UPDATE SET DEFAULT clauses.
Neas
Profil
a dá se to nějak obejít?
Kajman
Profil
A null hodnota vadí čemu? Při joinování jména autora s tím můžete počítat.
Neas
Profil
Jde mi jen o zachvání datového typu.

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