У меня есть 4 страницы, через которые мне нужно поделиться одним и тем же рестораном_ID. Мне нужно иметь возможность вставлять ID во все 4 таблицы в базе данных. Я использую оператор INSERT INTO SELECT
для этого. Но я получаю следующее сообщение об ошибке:SQL INSERT INTO SELECT Проблема синтаксиса выписки
POSSIBLE Syntax Error (check preceding valid syntax error) unexpected: identifier 'SELECT'
POSSIBLE Syntax Error (check preceding valid syntax error) unexpected: identifier 'Resturant_ID'
POSSIBLE Syntax Error (check preceding valid syntax error) unexpected: identifier 'Rest_Dets'
Это SQL Я использую:
(Original):
INSERT INTO Product (Resturant_ID)
SELECT Resturant_ID Rest_Dets;
(Edited):
INSERT INTO Product (Resturant_ID)
SELECT Resturant_ID FROM Rest_Dets;
I также попробовали
$rest_id = mysqli_real_escape_string($dbc, $_SESSION['Resturant_ID']);
INSERT INTO Product (Resturant_ID)
SELECT Resturant_ID FROM Rest_Dets WHERE Resturant_ID = $rest_id ;
Я посмотрел по всему Интернету, и похоже, что у меня не было проблем, веб-страница также успешно подключена.
Rest_Details (таблица я хочу, чтобы получить Restaurant_ID от)
CREATE TABLE `Rest_Details` (
`Resturant_ID` bigint(255) NOT NULL AUTO_INCREMENT,
`Resturant_name` varchar(100) NOT NULL,
`Resturant_des` varchar(200) NOT NULL,
`Res_Address_Line_1` varchar(200) NOT NULL,
`Res_Address_Line_2` varchar(200) DEFAULT NULL,
`City_name` varchar(100) NOT NULL,
`Resturant_Postcode` varchar(8) DEFAULT NULL,
`Cat_ID` tinyint(11) NOT NULL,
`Avg_Del` tinyint(11) NOT NULL,
`Est_Del` tinyint(11) NOT NULL,
`Email1` varchar(200) NOT NULL,
`Email2` varchar(200) DEFAULT NULL,
`Min_ord` tinyint(11) NOT NULL,
PRIMARY KEY (`Resturant_ID`),
UNIQUE KEY `Resturant_name` (`Resturant_name`),
UNIQUE KEY `Resturant_ID` (`Resturant_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
Продукты
CREATE TABLE `Product` (
`Product_Id` bigint(255) NOT NULL AUTO_INCREMENT,
`Resturant_ID` bigint(255) NOT NULL,
`Product_Name` varchar(100) NOT NULL,
`Product_Desc` text NOT NULL,
`Product_Price` decimal(65,0) NOT NULL,
`Add_On_ID` int(11) NOT NULL,
PRIMARY KEY (`Product_Id`),
UNIQUE KEY `Product_Id` (`Product_Id`),
UNIQUE KEY `Resturant_ID` (`Resturant_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8
Вы прочитали инструкцию по эксплуатации? https://dev.mysql.com/doc/refman/5.5/en/insert-select.html –
'SELECT Resturant_ID FROM Rest_Dets' –
@juergend Я пытаюсь одновременно выбирать и вставлять. – jerneva