我想在查詢中使用「insert on duplicate key update」來插入一個新行(如果它不存在)或者更新一個行(如果存在)。我似乎無法弄清楚是如何利用這一點,如果我沒有唯一的ID(因爲該行尚未建立,而這個ID將在插入可自動遞增)現在在重複鍵上插入更新
insert into foodchoices (unique,notunique) values (Idonthavethis,'test')
on duplicate key update notunique = 'stuff';
,在上面這個例子中,它說「Idonthavethis」,我沒有任何這個字段的唯一值,因爲它還沒有作爲一行插入。不過,我確實希望這插入某種方式,我只是不知道如何。我期望它的行爲是這樣的:
insert into foodchoices (notunique) values ('test')
但是,如果它是一個已經存在的字段,我將擁有該唯一值。有沒有某種形式的通配符或我可以使用的東西,當我沒有獨特的價值?
如何確定記錄是否已存在?如果'notunique'確實不是唯一的,那麼插入一個新行並選擇多個版本中的任何一個版本的值爲'test''有什麼區別? – eggyal