gpt4 book ai didi

sql - 如何将不同和半不同的条目插入表中?

转载 作者:行者123 更新时间:2023-11-29 13:09:22 24 4
gpt4 key购买 nike

我有一个表 table1,其中包含 2 列 user_namebook_name

现在我想插入条目,使同一用户不能在另一个条目中拥有相同的书名。

我想做的是:

INSERT INTO table1(user_name, book_name) VALUES('random_user', 'random_book')
ON CONFLICT (user_name, book_name ) DO NOTHING;

但这会返回一个 Postgres 错误 42P10。

此外,我想知道如何在表中输入条目,其中一列可能相同但其他列应该不同。例如,具有三个字段的表 user_name, book_name, quantity 其中,用户可以在不同条目中拥有同一本书,前提是其数量是不同的。

最佳答案

您可能只需要定义唯一约束或索引:

create table table1 (
user_name text,
book_name text,
unique (user_name, book_name)
);

INSERT INTO table1(user_name, book_name)
VALUES('random_user', 'random_book')
ON CONFLICT (user_name, book_name ) DO NOTHING;

Here是一个数据库<> fiddle 。

当然,这假设您使用的是 Postgres 9.5 或更高版本。

关于sql - 如何将不同和半不同的条目插入表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56937941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com