我想将多个值插入一行,但我想确保该行是唯一的,即没有重复的行。
我不确定如何执行此操作(如果只有一个值要检查,这很容易,例如:SQL Server - 如何插入记录并确保它是唯一的)。
这是我的代码,但它不允许我在测试单列和多列组合时插入唯一行。
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 )