验证表中是否存在寄存器

时间:2018-02-08 02:47:31

标签: sql sql-server

我有一个简单的插件,如:

INSERT INTO Store.Cart VALUES (@UserId);

我想验证表Store.Cart中是否存在userId,不要再创建它。有可能吗?

2 个答案:

答案 0 :(得分:1)

是。使用唯一索引或约束:

alter table Store.Cart add constraint unq_cart_userId unique (userId);

数据库将确保用户只在表格中出现一次。任何再次添加它的尝试都会导致错误。

答案 1 :(得分:0)

在插入/更新

之前总是检查是否存在也是好的
if not exists (select 1 from Store.Cart where UserId= @UserId)
begin
 INSERT INTO Store.Cart VALUES (@UserId);
end