gpt4 book ai didi

sql - 如何插入记录并确保整行是唯一的

转载 作者:行者123 更新时间:2023-12-04 20:39:31 25 4
gpt4 key购买 nike

我想在一行中插入多个值,但我想确保该行是唯一的,即没有重复的行。

我不确定如何执行此操作(如果只有一个值要检查,则相当容易,例如:SQL Server - How to insert a record and make sure it is unique)。

这是我的代码,但它不允许我插入唯一行,因为它会测试单列和多列组合。

CREATE TABLE myCities (
UserID int null,
CityID int null
)

DECLARE @UserID int, @CityID int
SET @UserID = 1
SET @CityID = 1

INSERT INTO myCities (UserID,CityID)
SELECT @UserID,@CityID
WHERE
@UserID NOT IN ( SELECT UserID FROM myCities WHERE UserID = @UserID )
AND
@CityID NOT IN ( SELECT CityID FROM myCities WHERE CityID = @CityID )

最佳答案

唯一可靠的方法是将支票存入数据库。在这种情况下,在表上创建一个唯一键,这也将是它的主键,所以

-- syntax for MS/Sybase at least is
ALTER TABLE myCities
ADD CONSTRAINT uc_myCities UNIQUE (UserID,CityID)

然后,当您插入一个副本时,您将得到一个错误,您的代码将不得不处理它。

关于sql - 如何插入记录并确保整行是唯一的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11513789/

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