2012-04-14 78 views
0

當試圖執行以下指令時,出現錯誤:SQLError:'錯誤#3115:SQL錯誤',詳細信息:'near'WHERE':語法錯誤',操作:'execute',detailID:'2003'。有什麼想法嗎?謝謝!插入如果不存在參數?

   dbStatement.text = "INSERT INTO person (idPerson,image) VALUES (:idPerson,:image) " + 
       "WHERE NOT EXISTS (SELECT idPerson FROM person WHERE idPerson=:idPerson)"; 
      dbStatement.parameters[":idPerson"] = person.idPerson; 
      dbStatement.parameters[":image"] = person.image; 
      dbStatement.execute(); 

回答

0

您可能在尋找INSERT OR REPLACE person (...) VALUES(...)

+0

不幸的是繼續重複記錄。也許我做錯了? INSERT或REPLACE INTO person(idPerson,image)VALUES(:idPerson,:image) – ra00 2012-04-14 21:19:30

+0

「idPerson」是主鍵還是UNIQUE? – Torious 2012-04-14 21:24:01

+0

「idPerson」不是主鍵。 – ra00 2012-04-14 21:38:55