插入如果不存在参数?
问题描述:
当试图执行以下指令时,出现错误: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(...)
。
不幸的是继续重复记录。也许我做错了? INSERT或REPLACE INTO person(idPerson,image)VALUES(:idPerson,:image) – ra00 2012-04-14 21:19:30
“idPerson”是主键还是UNIQUE? – Torious 2012-04-14 21:24:01
“idPerson”不是主键。 – ra00 2012-04-14 21:38:55