我有一个访问数据库,只有在我的信息是唯一的时候才需要更新。是否有一个简单的sql语句来完成这个?将'插入忽略'工作与访问?
示例:我将信息存储在一个数组中('bob','34','hair')。如果我的数据库包含与这三列匹配的记录,我不希望它被插入。如果发现它是唯一的,我希望它被插入。
我在冷融合中写这篇文章,但似乎无法让sql正确。
答案 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