Salve a tutti, sto diventando matto....
Sto tentando di costruire un database relazionale impostando correttamente anche le foreign key, indici e tutto il resto.
Quella che vorrei creare e' una semplice tabella di categorie, dove gni categoria puo o meno avere una categoria padre.
Questo e' il codice per generare la tabella:
viene eseguito senza problemi, e al tabella viene creata, inserisco 2 righe per test, dove la 2a in parent_id riporta l'id della prima riga, quando tento di modificare l'id della prima riga mi viene restituito questo errore:codice:CREATE TABLE IF NOT EXISTS `inventario3`.`_categorie` ( `id` CHAR(1) NOT NULL , `parent_id` CHAR(1) NULL DEFAULT NULL , `nome` VARCHAR(45) NOT NULL , PRIMARY KEY (`id`) , INDEX `parent` (`parent_id` ASC, `id` ASC) , CONSTRAINT `parent` FOREIGN KEY (`parent_id` ) REFERENCES `inventario3`.`_categorie` (`id` ) ON DELETE RESTRICT ON UPDATE CASCADE) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1
(mentre invece dovrebbe modifcare il parent_id della seconda riga per adattarsi a quello modificato della prima rigacodice:1451 - Cannot Delete Or Update A Parent Row: a foreign key constrain fails [ecc...]
Se invece elimino la prima riga...la elimina, senza battere ciglio, lasciando parent_id della seconda riga impostato con l'id della prima che ora nn esiste piu, creando quindi un inconsistenza dei dati...
cosa sto sbagliando ? come posso risolvere ?

Rispondi quotando