我正在编写一个数据挖掘程序,可以批量插入用户数据。
当前的SQL仅是简单的批量插入:
insert into USERS(
id, username, profile_picture)
select unnest(array['12345']),
unnest(array['Peter']),
unnest(array['someURL']),
on conflict (id) do nothing;
如果发生冲突,我该如何进行更新?我尝试了:
...
unnest(array['Peter']) as a,
unnest(array['someURL']) as b,
on conflict (id) do
update set
username = a,
profile_picture = b;
但它会抛出错误:"*SELECT*"表中有一个名为"a"的列,但是它无法从查询的这一部分引用。
编辑:
USERS
表非常简单:
create table USERS (
id text not null primary key,
username text,
profile_picture text
);