插入如果不存在参数?

问题描述:

当试图执行以下指令时,出现错误: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(); 

您可能在寻找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