我使用INSERT ON DUPLICATE KEY UPDATE
我的應用程序,它通常必須在一個事務中許多行向數據庫提交考慮。不過,我對一件事有些困惑。在線使用示例在其功能變體中似乎很多。INSERT的正確使用....對重複密鑰更新
我找的行爲是,我要插入的行,如果它不已經是唯一索引的存在,但如果它存在,我只是想回到的ID,但沒有更新。我是否正確地認爲這是本聲明的預期功能。
此外,我不想去我的表來創建虛擬字段利用該功能,因爲在許多實例建議。在我看來,這只是不好的做法。
任何意見是極大的讚賞。下面是MySQL的網站,說明接近我想要什麼,但C = 3部分不就行了解釋的例子。我想知道是否需要這樣做才能使last_insert_id實際工作,或者只是它們的示例的一部分。在last_insert_id部分之後我沒有看到一些虛擬操作,那麼last_insert_id將不起作用。
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;