Problemino con le chiavi esterne in mysql

sabato 14 gennaio 2006 - 19.47

stellaga Profilo | Newbie

Ciao a tutti,
da poco ho installato mysql ver. 5 e ho provato a creare delle tabelle. Fin qui tutto bene, li crea senza problemi, ma quando voglio creare delle chiavi esterne, il server mi dà il seguente errore:ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint f
ails (`royalmodel/#sql-200_21`, CONSTRAINT `#sql-200_21_ibfk_1` FOREIGN KEY (`NE
WSID`) REFERENCES `news` (`NEWSID`) ON DELETE CASCADE ON UPDATE CASCADE)
che cavolo intende sto server?
Ho provato a creare le foreign key con il MySql Query Browser, quindi la sintassi è sicuramente esatta.
Qualcuno può aiutarmi?
Grazie
Gaetano

Brainkiller Profilo | Guru

>Ciao a tutti,
>da poco ho installato mysql ver. 5 e ho provato a creare delle
>tabelle. Fin qui tutto bene, li crea senza problemi, ma quando
>voglio creare delle chiavi esterne, il server mi dà il seguente
>errore:ERROR 1452 (23000): Cannot add or update a child row:
>a foreign key constraint f
>ails (`royalmodel/#sql-200_21`, CONSTRAINT `#sql-200_21_ibfk_1`
>FOREIGN KEY (`NE
>WSID`) REFERENCES `news` (`NEWSID`) ON DELETE CASCADE ON UPDATE
>CASCADE)
>che cavolo intende sto server?
>Ho provato a creare le foreign key con il MySql Query Browser,
> quindi la sintassi è sicuramente esatta.
>Qualcuno può aiutarmi?

Ciao Gaetan,
evidentemente la sintassi che hai usato non è corretta oppure ci sono altre chiavi e l'operazione non è consentita.
Ti consiglio eventualmente se è un DB nuovo di togliere tutti i constraint e poi di aggiungerli man mano a mano (con Query) o con un tool visuale.

ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

stellaga Profilo | Newbie

Ciao David e grazie,
alla fine sono riuscito a capire il motivo, o almeno dovrebbe essere questo:
nell'installazione di mysql non è stato attivato il supporto per innoDB.
Appena ho attivato il supporto per innoDB, sono riuscito finalmente a creare le chiavi esterne.
Probabilmente il motore MyIsam di mysql ti crea alcuni problemini.
Comunque ti ringrazio ugualmente per l'interesse.

Ciao

Gaetano Stella

stellaga

stellaga Profilo | Newbie

Ciao David e grazie,
alla fine sono riuscito a capire il motivo, o almeno dovrebbe essere questo:
nell'installazione di mysql non è stato attivato il supporto per innoDB.
Appena ho attivato il supporto per innoDB, sono riuscito finalmente a creare le chiavi esterne.
Probabilmente il motore MyIsam di mysql ti crea alcuni problemini.
Comunque ti ringrazio ugualmente per l'interesse.

Ciao

Gaetano Stella

stellaga
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5