我有一个程序将加载数据库文件但数据只会插入新表中。我的问题是如何检查数据库文件是否与在数据库中插入的数据库文件相同,如何拒绝它,只是给出一条消息“数据存在”。
我的计划是创建一个if exists查询,但似乎它不起作用或我的代码不起作用。顺便说一下,表没有id /主键。
"IF EXISTS(SELECT COUNT(*) FROM TABLE1) " & vbCrLf &
"BEGIN" & vbCrLf &
"SELECT * FROM TABLE1" & vbCrLf &
"END" & vbCrLf &
"ELSE" & vbCrLf &
"BEGIN" & vbCrLf &
"INSERT INTO TABLE1 SELECT * FROM TABLE1_TEMP" & vbCrLf &
"END"
答案 0 :(得分:0)
如果您没有主键,那么您应该选择将成为您键的字段,然后将其与要插入的新数据进行比较。
例如:
INSERT INTO DB
SELECT 'a','b' FROM DB
WHERE field1 + field2 <> 'a' + 'b'
这将检查db(field1和field2)是否与要插入的数据相同 a 和 b ,如果没有则 a 将插入 b
注意:如果您的字段是整数,那么您应该先将其转换为字符串。