Ho creato una tabella con FOREIGN KEY e non posso inserire nulla.FOREIGN KEY fa riferimento alla colonna della stessa tabella. Impossibile inserire i valori
CREATE TABLE menus (
id int(10),
parent_id int(10),
label varchar(255),
PRIMARY KEY (id),
FOREIGN KEY (parent_id) REFERENCES menus (id)
);
Ho bisogno di FOREIGN KEY per eliminare automaticamente i bambini quando genitore è stato eliminato. Questa tabella è stata creata correttamente ma non riesco a inserire nulla.
INSERT INTO `menus` (`parent_id`, `label`)
VALUES ('1', 'label1');
o
INSERT INTO `menus` (`label`)
VALUES ('label1');
#1452 - Cannot add or update a child row: a foreign key constraint fails
Io davvero non voglio cercare tutti i bambini nel codice php quindi ho bisogno in qualche modo creo semplice tabella con 3 colonne e automaticamente cadere tutti i bambini e loro bambini.
Hai detto di voler "eliminare automaticamente i bambini", ma tutti quelli che ci mostri sono gli inserti. Qual è esattamente la tua domanda? –
In genere, è necessario consentire al record "root" di avere un genitore null - ad esempio "menus.parent_id" dovrebbe essere annullabile, e la voce di menu "root" avrà un valore nullo "parent_id". – StuartLC
quali valori vuoi avere per l'ID? Non ho visto nessuno di loro inserito o generato automaticamente –