在 SQL 中 INSERT 期间防止重复值
给定一个表“Delegates”,其中包含列“ID”、“MemberNo”、“FromYr”, ”和“ToYr”,用户需要防止插入用户输入中的重复值。原始查询 INSERT INTO Delegates ([MemNo],[FromYr],[ToYr]) value(@MemNo, @FromYr,@ToYr) 允许同一成员和年份重复条目。
To为了解决这个问题,用户可以使用 MERGE 命令。 MERGE 将 INSERT、UPDATE 和 DELETE 语句的功能组合到单个操作中。以下 MERGE 语句将实现所需的行为:
<code class="sql">MERGE INTO Delegates D USING (values(@MemNo, @FromYr,@ToYr)) X ([MemNo],[FromYr],[ToYr]) ON (insert unique key join) WHEN NOT MATCHED BY TARGET THEN INSERT ([MemNo],[FromYr],[ToYr])) VALUES (X.[MemNo],X.[FromYr],X.[ToYr]);</code>
此 MERGE 语句执行以下操作:
通过使用此 MERGE 语句,用户可以确保不会将重复值插入到“Delegates”表中。
以上是SQL中INSERT时如何防止重复值?的详细内容。更多信息请关注PHP中文网其他相关文章!