SQLite语句附近的语法错误
问题描述:
我遇到了我的SQL语句的语法问题,LogCat说问题在WHERE附近。我哪里做错了?SQLite语句附近的语法错误
这里是我的代码:
var inName = "Test Name";
var inNumber = "Test Number";
db.transaction(function (tx) { tx.executeSql('INSERT INTO SoccerPlayer(Name,Club) VALUES (?, ?) WHERE ? NOT IN (SELECT Name FROM SoccerPlayer)',[ inName, inNumber, inName ] });
任何帮助或建议将欣然接受,这是谜题为我的项目的最后一块。当我完成这个我已经可以休息了。提前致谢。
答
INSERT
不需要WHERE
投影,而UPDATE
呢。
也许你想你想在Name
已经存在的情况下更新或者插入或者
INSERT INTO SoccerPlayer(Name,Club) VALUES (?, ?)
或
UPDATE SoccerPlayer SET Club=? WHERE Name=?
或情况下,
INSERT OR UPDATE INTO SoccerPlayer(Name,Club) VALUES (?, ?)
在您需要该表有一些相关的约束条件,如Name TEXT UNIQUE
。
编辑:
我希望我的插入函数忽略插入如果已存在该名称
然后你就可以使Name
列UNIQUE
如上并使用INSERT OR IGNORE
代替INSERT OR UPDATE
。
+0
这是为我的插入功能,它在我的更新功能上工作。 我想我的插入函数忽略插入如果名称已经存在。 –
+0
非常感谢!有用。我终于可以休息了。 –
什么是**?**你能给出更多细节 –
那些?将基于[inName,inNumber,inName]括号内的值。 –
你可以尝试静态值为*哪里**名称**不在.. * –