2013-03-06 78 views
0

以下情况下,CHECKINDATEENTERED将始终不同,但VENUECREATEDAT将始终保持不变。使用INSERT IGNORE防止重复输入

我想知道是否可以通过检查表createdAt中只有一列来防止重复条目。

SQL = "INSERT IGNORE INTO CHECKINS (CHECKINPLATFORM, MEMBERID, VENUENAME, VENUELAT, VENUELNG, VENUECITY, VENUECOUNTRY, VENUECREATEDAT, CHECKINDATEENTERED) VALUES ('"& strFoursquare &"', '"& objMembers("MEMBERID") &"', '"& strVenueName &"', '"& strlat &"', '"& strlng &"', '"& strCity &"', '"& strCountry &"', '"& FormatDateMySQL(strcreatedAt) &"', '"& FormatDateMySQL(NOW) &"')" 
+0

我真的很希望这些价值[妥善逃脱](http://bobby-tables.com/)。 – tadman 2013-03-06 03:30:38

回答

1

如果你有一个UNIQUE INDEX那么在这个键上冲突的条目将被忽略。您需要通过在与其唯一身份相关的特定列上创建索引来建立“重复”条件。

+0

有一个ID列是主键。你提到它吗? – Efe 2013-03-06 03:52:23

+0

“PRIMARY KEY”列显然是独一无二的,但你并没有插入它,是吗? – tadman 2013-03-06 04:23:34

+0

它的自动增量。啊,你上面写的东西对我来说就像是一种不同的语言。你能否给我解释一下“你需要通过在与其独特身份相关的特定栏目上创建一个索引来建立你的”重复“条件。”举个例子 – Efe 2013-03-06 15:55:17