У меня есть две таблицы, которые являются пользователями и информацией. Необходимо вставить в информационную таблицу с максимальным идентификатором из таблицы пользователя. Я попытался использовать нижеследующий запрос с вставкой одной строки, он работал нормально. Но я стараюсь, чтобы несколько вставить его нет. получение ошибки как "# 1241 - Операнд должен содержать 1 столбец"
INSERT INTO user( name, email, password )
values
(
((SELECT MAX( id ) as id from info), '[email protected]', '123'),
((SELECT MAX( id ) as id from info), '[email protected]', '123'))
При вставке из select нам не нужно использовать VALUES
:
INSERT INTO user( name, email, password )
SELECT MAX(id), '[email protected]', '123' FROM info
UNION ALL
SELECT MAX(id), '[email protected]', '123' FROM info;
Также обратите внимание, что вам, вероятно, не нужно завершать запрос MAX(id)
в качестве подзапроса. Вместо этого просто выберите константы, которые вы хотите в одном запросе верхнего уровня.