#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';
Вот ссылка из официальной документации