1
Заказать СтолMySQL Операнд должен содержать 1 столбец (ы) ВСТАВИТЬ
id
orderlinesid
productvaritiesid
OrderLines Таблица
orderlinesid
productvaritiesid(fk)
Я пытаюсь сделать вставку в Order
таблицу. Мой запрос возвращает следующее исключение "Operand should contain 1 column(s)"
. Рассматривая вопрос на SO, я вижу, что возвращается только один столбец в подзапросе.
Мой вопрос: как я могу это сделать, пытаясь достичь этого?
INSERT INTO refund (refund.orderlinesid, refund.productvaritiesid) VALUES
((select orderlines.orderlinesid, orderlines.product_varities_id from orderlines where orderlines.order_id = 54 AND orderlines.product_varities_id = 3));
Нет скобкой, нет ЗНАЧЕНИЯ, то есть 'INSERT INTO (х, у, г) не ВЫБРАТЬ х, у, г ОТ ... '. Синтаксис «VALUES» используется для однострочных вставок из входных данных, тогда как «INSERT INTO ... SELECT» используется для копирования строк из другого запроса. – StuartLC
Это работает, но вы можете объяснить, почему этот синтаксис верен? @StuartLC – Haris
@Harry Документы MySQL имеют некоторые объяснения: https://dev.mysql.com/doc/refman/5.1/en/insert-select.html – dan08