2013-05-27 11 views
0

В MySQL, когда я пытаюсь сделать:Я сумасшедший, пытаясь решить ошибку, но я не могу. С mysql. Ошибка внешнего ключа при выполнении INSERT INTO.

INSERT INTO Comandes_Productes (Id_Comanda, Id_Producte) VALUES ('60', '10009') -> (или другие значения)

, например, я получаю это сообщение об ошибке: # 1452 - Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не удается (. cafeteriacomandes_productes, скованность comandes_productes_ibfk_2 FOREIGN KEY (Id_Producte) Лит comandes (Id_Comanda) ON UPDATE CASCADE)

Я пытаюсь сделать много решений, которые предложил следующую ссылку, но я тоже не разрешил ошибку.

Mysql error 1452 - Cannot add or update a child row: a foreign key constraint fails

я получу вам код, чтобы увидеть, если у меня есть ошибки в нем.

CREATE TABLES:

CREATE TABLE Comandes ( 
    Id_Comanda INTEGER(9) AUTO_INCREMENT, 
    Quantitat INTEGER(4), 
    Id_Proveidor INTEGER(9) NOT NULL, 
    Data DATE, 
PRIMARY KEY (Id_Comanda), 
FOREIGN KEY (Id_Proveidor) REFERENCES Proveidors(Id_Proveidor) ON UPDATE CASCADE  
) CHARACTER SET utf8 COLLATE utf8_spanish_ci; 

CREATE TABLE Productes ( 
    Id_Producte INTEGER(9) AUTO_INCREMENT, 
    Marca VARCHAR(15), 
    Nom_Producte VARCHAR(30), 
    Preu_Producte FLOAT(4,2), 
    Quantitat INTEGER(4), 
    Descripcio VARCHAR(50), 
Id_Proveidor INTEGER(9), 
PRIMARY KEY (Id_Producte) 
) AUTO_INCREMENT=10001 CHARACTER SET utf8 COLLATE utf8_spanish_ci; 


CREATE TABLE Comandes_Productes ( 
     Id_Comanda INTEGER(9), 
     Id_Producte INTEGER(9), 
     PRIMARY KEY (Id_Producte, Id_Comanda), 
FOREIGN KEY (Id_Producte) REFERENCES Productes (Id_Producte) ON UPDATE CASCADE, 
FOREIGN KEY (Id_Producte) REFERENCES Comandes (Id_Comanda) ON UPDATE CASCADE  
) CHARACTER SET utf8 COLLATE utf8_spanish_ci; 

И да, я уже имею значения ключей ЗАРУБЕЖНЫХ в таблицах "Comandes" и "Productes". Все таблицы с InnoDB, тоже я пытаюсь удалить всю базу данных и создать другое время, но ... ничего ... Я вижу спецификации таблиц и тоже все равно.

В чем я терпит неудачу? Пожалуйста, помогите мне! Я не могу продолжать с моим проектом ...

ответ

1

Я вижу одну проблему с вашим Comandes_Productes столом:

FOREIGN KEY (Id_Producte) REFERENCES Comandes (Id_Comanda) ON UPDATE CASCADE 

вероятно, это должно быть

FOREIGN KEY (Id_Comanda) REFERENCES Comandes (Id_Comanda) ON UPDATE CASCADE 

Кроме того, я не очень в MySQL , но, вероятно, вы не используете одиночные кавычки при вводе числовых значений.

+0

OMG ... Я потерял много времени, и это ... очень глупая ошибка ... :(Спасибо большое, YK1 – jordi159

+0

Рад, что это помогло. – YK1