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

#mysql #database

Вопрос:

Когда я введу эту команду, произойдет ошибка, потому что в tbl_carts есть две строки, в которых находится электронная почта ABC@gmail.com. Есть ли способ перенести несколько строк из одной базы данных в другую.

Моя команда sql такова:

 INSERT INTO tbl_history(orderid, email, product_id, qty) VALUES
('testing', (SELECT email FROM tbl_carts WHERE email 'ABC@gmail.com'),
(SELECT product_id FROM tbl_carts WHERE email='ABC@gmail.com'),
(SELECT qty FROM tbl_carts WHERE email='ABC@gmail.com'))
 

Сообщение об ошибке:

Вложенный запрос возвращает более 1 строки

Ответ №1:

Это правильный способ сделать INSERT , используя SELECT значения из другой таблицы:

 INSERT INTO tbl_history(orderid, email, product_id, qty) 
SELECT 'testing', email, product_id, qty FROM tbl_carts WHERE email='ABC@gmail.com';
 

Вот ссылка из официальной документации