我看了很多類似於我的問題,但沒有找到我要找的東西,也許你們可以幫我更新記錄如果特定列中存在某個值,或者插入一個新的記錄
我有這個表:
我想要做的是:
- 插入一個新的記錄(無論 「user_ID的」 或 「COURSE_ID」 的alread是否存在)。
- 但是,如果有一個記錄具有相同的「user_id」和「course_id」和「tutorial_id」,那麼只需更新「tutorial_id」和「tutorial2_id」,並保持原樣。
我不想聲明列「tutorial_id」爲UNIQUE,因爲多個用戶可以具有相同的「tutorial_id」(如上圖所示)。
另外,ON DUPLICATE KEY UPDATE對我不起作用。
我正在考慮使用QUERY兩次,一個選擇並檢查記錄是否存在,另一個是否更新或插入,但是是否正確?
顯示你的'ON重複鍵UPDATE'的用法,你可以使這三個獨特的一對,所以不僅僅'tutorial_id'將是獨一無二的。例如'ALTER TABLE TABLE_NAME add CONSTRAINT UQ_user_course_tut UNIQUE(user_id,course_id,tutorial_id)' – chris85
然後你需要創建獨特的鍵acr oss這三列,然後重複鍵更新將工作。 – Niagaradad
*另外,ON DUPLICATE KEY UPDATE不適用於我。*爲什麼?你的'PRIMARY KEY'是什麼? 'user_id'和'course_id'是唯一的組合嗎? –