Привет Я пишу запрос для вставки значений в таблицу. Это дает мне ошибку.более одной строки, возвращаемой подзапросом
Мои Qyery
INSERT INTO res_partner(
name,
company_id,
create_date,
street,
city,
display_name,
zip,
supplier,
ref,
is_company,
customer,
street2,
employee,
write_date,
active,
write_uid,
lang,
create_uid,
notify_email)
VALUES(
(SELECT shipping_address_name FROM temp_unicom),
1,
LOCALTIMESTAMP,
(SELECT shipping_address_line_1 FROM temp_unicom;),
(SELECT shipping_address_city FROM temp_unicom),
(SELECT shipping_address_name FROM temp_unicom),
(SELECT shipping_address_pincode FROM temp_unicom),
FALSE,
(Select sale_order_item_code FROM temp_unicom),
FALSE,
TRUE,
(SELECT shipping_address_line_2 FROM temp_unicom),
FALSE,
LOCALTIMESTAMP,
TRUE,
1,
'en_US',
1,
'always');
Ошибка:
ERROR: more than one row returned by a subquery used as an expression
********** Ошибка **********
ERROR: more than one row returned by a subquery used as an expression SQL state: 21000
Я знаю, что каждый select subquery возвращает несколько строк, но я не знаю, как его исправить. У меня около 15000 строк в моей таблице temp_unicom
, и я пытаюсь вставить данные из temp_unicom
в res_partner
.
Вам необходимо некоторое где положение в ваших вложенных запросах, чтобы они возвращают одно значение. Вы не можете вставить несколько значений в 'insert into'. – artm
Проблема в том, что у меня нет предложения where. Мне нужно скопировать данные из temp_unicom в res_partner. LOCALTIMESTAMP дает текущую временную метку моей системы. –
'insert into res_partner (col1, col2, col3, col4, col5) select cola, colb, 1, 'en_US', colc from temp_unicom' –