我有一个 PostgreSQL 数据库,并希望根据我拥有的记录 ID 为多条记录插入相同的值。
有没有办法在语句中创建WHERE
条件?INSERT
例如:
insert into Customers (new-customer) values ('t') where customer_id in (list)
我有一个 PostgreSQL 数据库,并希望根据我拥有的记录 ID 为多条记录插入相同的值。
有没有办法在语句中创建WHERE
条件?INSERT
例如:
insert into Customers (new-customer) values ('t') where customer_id in (list)
要为列表中的每个 id 插入一行,您可以使用unnest()
生成一组行:
INSERT INTO customers(customer_id, column1)
SELECT id, 't'
FROM unnest ('{123,456,789}'::int[]) id;
如果您说错了并且实际上是针对UPDATE
现有行:
UPDATE customers
SET column1 = 't'
WHERE customer_id = ANY ('{123,456,789}'::int[]);
是的,您可以执行以下操作:
INSERT INTO customers(customer_id, customer_name)
select 13524, 'a customer name'
where 13524 = ANY ('{13524,5578,79654,5920}'::BIGINT[])
13524
在这里,将添加一个 id: 的客户,因为它的 ID 在列表中:{13524,5578,79654,5920}
我希望你正在寻找什么!