2013-03-06 77 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