【发布时间】:2017-04-18 09:23:19
【问题描述】:
我正在尝试编写只允许我插入具有不同 ID 的记录的代码;如果数据库中已经存在相同的 ID,则不应插入该记录。
我的 SQL 代码是这样的:
SqlCommand cmd = new SqlCommand("insert into User(UserId,Name,Profession) values(@UserId,@Name,@Profession) WHERE NOT EXISTS (Select UserId From User where UserId = @UserId)", con);
但它不起作用,当我尝试这个时,没有任何东西添加到数据库中。 如何更正此查询?
谢谢,
【问题讨论】:
-
尝试使用
NOT IN。此外,当您使用 select 插入时,您需要删除值,因为您选择了所述值。 -
请注意,这种方法本身并不能在所有情况下防止 userId 上的重复。
标签: c# sql-server database visual-studio