如何仅将唯一数据插入访问数据库

时间:2010-11-16 00:56:25

标签: sql ms-access

我有一个访问数据库,只有在我的信息是唯一的时候才需要更新。是否有一个简单的sql语句来完成这个?将'插入忽略'工作与访问?

示例:我将信息存储在一个数组中('bob','34','hair')。如果我的数据库包含与这三列匹配的记录,我不希望它被插入。如果发现它是唯一的,我希望它被插入。

我在冷融合中写这篇文章,但似乎无法让sql正确。

2 个答案:

答案 0 :(得分:3)

在进行插入之前,请对这些值进行选择。如果您没有获得记录,那么您知道插入是安全的。只需使用两个单独的查询,一个用于检查,如果没有找到记录,则插入。

答案 1 :(得分:3)

如果字段或字段集应该是唯一的,则唯一索引始终是个好主意。如果在三个字段的Access中有唯一索引,则插入将失败。

可能是创建一个只查找未找到匹配记录的记录的查询,例如:

INSERT INTO Shows (ForeName,Reviews,Musical)
SELECT "bob" As ForeName,"34" As Reviews,"hair" As Musical
FROM (SELECT Count(*) As  ExistsCount 
      FROM Shows 
      WHERE ForeName = "bob",Reviews = "34",Musical = "hair")  AS  e
WHERE e.ExistsCount=0