2009-07-24 50 views
2

在建設我的關係表中我遇到了以下問題中的應用:MySQL在表中插入,如果它不存在¿我做對了嗎?

我有以下表中,這個例子名爲「VALORES」:

----------------------- 
| id |  value  | 
----------------------- 
| 1 | Unique VAL | 
| 2 | Unique VAL2 | 
----------------------- 
ID = AUTOINCREMENT 
VALUE = UNIQUE 

我試圖做的是插入一個新的價值,如果它不存在,我現在這樣做的方式是:

INSERT IGNORE INTO valores (id, value) VALUES (NULL, "Unique VAL2"); 

所以它不會做任何事情。因爲價值已經存在..現在我的問題是:

¿這是最好的和最快的方式來做到這一點?

+1

對於非標準的auto_increment列使用NULL。從INSERT語句中刪除ID。 – longneck 2009-07-24 19:20:35

+0

@longneck非常感謝您指出這一點! :) – MarioRicalde 2009-07-24 19:44:24

回答

2

我認爲這是您的方案的最佳方式。

對於不同的目的,你可以使用對重複密鑰更新或更換INTO

瞭解更多:insertreplaceon duplicate

相關問題