我在這裏面臨一個小問題。我有一個多列的表,但我想要寫的sqlite查詢將用於我的python腳本,以便我可以插入如果找不到密鑰或者如果已找到密鑰更新其他值。我研究了一下,並通過了這個answer,但我的內容關注我的內容,它不工作,並繼續添加新的行,即使它存在。插入或更新sqlite3
使用this我寫了一個查詢,因爲我的更新/插入依賴於稱爲id的列,這是該表的外鍵約束。其他兩列,我想更新說的名稱和角色。所以我想要做的是插入所有三個,如果沒有找到id。如果找到,則查看它是否具有相同的值或不是其他兩列並更新它。這是我的嘗試。
INSERT OR REPLACE INTO tblExample(id, name, role) VALUES (COALESCE((SELECT id FROM tblExample WHERE id = 1),'1'),'name','role');
但它仍然是插入新行。爲什麼?我怎麼能避免它?更簡單的解決方案?
不是,它是表的外鍵主鍵是一個單獨的列 – user9517536248