2017-02-07 2 views
0

Я хочу вставить значения в таблицу, содержащую внешние ключи, но когда я добавляю внешние ключи вручную (например, добавьте идентификатор внешнего ключа вручную, написав его номер), это не работает, и это мне ошибка неправильного синтаксиса.Вставить значения в таблицу с внешним ключом с помощью mysql

# 1064 - У вас возникла ошибка в синтаксисе SQL; в руководстве, соответствует версии сервера MySQL для корректного синтаксиса использовать вблизи 'FOREIGN KEY,

id_livreur INT FOREIGN KEY,

id_plat INT FOREIGN KEY,

id_dessert' в строке 4

Вот моя таблица, которая содержит внешние ключи:

CREATE TABLE Commande 
(
id_commande int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
id_client int FOREIGN KEY, 
id_livreur int FOREIGN KEY, 
id_plat int FOREIGN KEY, 
id_dessert int FOREIGN KEY , 
prix_total int, 
heure_estime time, 
FOREIGN KEY (id_client) REFERENCES Client(id_client), 
FOREIGN KEY (id_livreur) REFERENCES Livreur(id_livreur), 
FOREIGN KEY (id_plat) REFERENCES Plat(id_plat), 
FOREIGN KEY (id_dessert) REFERENCES Dessert(id_dessert) 
) ENGINE=InnoDB; 

А вот мои вставки:

INSERT INTO Commande VALUES (1,1,1,1,1,45,now() + INTERVAL 20 minute); 
INSERT INTO Commande VALUES (2,2,2,2,2,55,now() + INTERVAL 20 minute); 
INSERT INTO Commande VALUES (3,3,3,3,3,75,now() + INTERVAL 20 minute); 
INSERT INTO Commande VALUES (4,4,4,4,4,45,now() + INTERVAL 20 minute); 
+0

Почему тег SQL-Server? – Jens

+0

удалить «FOREIGN KEY» после определения столбца – Jens

ответ

0

удалить "FOREIGN KEY" после определения столбца

CREATE TABLE Commande 
(
id_commande int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
id_client int, 
id_livreur int, 
id_plat int , 
id_dessert int, 
prix_total int, 
heure_estime time, 
FOREIGN KEY (id_client) REFERENCES Client(id_client), 
FOREIGN KEY (id_livreur) REFERENCES Livreur(id_livreur), 
FOREIGN KEY (id_plat) REFERENCES Plat(id_plat), 
FOREIGN KEY (id_dessert) REFERENCES Dessert(id_dessert) 
) ENGINE=InnoDB; 
+0

Это исправлено ... Спасибо! Извините, новичок здесь x) –

Смежные вопросы