当前位置: 首页 > 知识库问答 >
问题:

SQLite语句语法错误靠近where

仲涵亮
2023-03-14

我的SQL语句语法有问题,LogCat说问题就在哪里。我哪里错了?

下面是我的代码:

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 ] });

任何帮助或建议都将欣然接受,这是我的项目的最后一块拼图。当我做完这件事我就可以Rest了。提前道谢。

共有1个答案

厍光霁
2023-03-14

插入不使用投影,而更新使用的

可能你也想要

INSERT INTO SoccerPlayer(Name,Club) VALUES (?, ?)

UPDATE SoccerPlayer SET Club=? WHERE Name=?

或者在name已经存在或以其他方式插入时要进行更新,

INSERT OR UPDATE INTO SoccerPlayer(Name,Club) VALUES (?, ?)

其中需要表具有一些相关约束,如name TEXT unique

编辑:

如果名称已经存在,我希望插入函数忽略插入

然后,您可以使名称唯一如上所示,并使用插入或忽略而不是插入或更新

 类似资料:
  • 我有一个方法,如果检查两个文本字段存在,然后重新调整记录ID。我方法是这样的: 我的桌子是这样的: 现在,当我运行该方法时,就像getQueryMatch(Mystr1,Mystr2); 我有一个错误: 我的select查询看起来很正常,但我不知道问题出在哪里?

  • 私有静态final int DATABASE_VERSION=1;私有静态最终字符串DATABASE_NAME=“unitconversion.db”;

  • 这是我的代码: LogCat说:12-11 23:43:50.553:E/AndroidRuntime(3706):android.database.sqlite.sqliteException:“create ;table”附近:语法错误(代码1):,编译时:create ;table PapersTable(_id integer ;primary ;key ;autoincrement,ti

  • 目前遇到此语法错误,错误发布在代码下方。 上面的代码,无法找出if语句上的语法错误。错误消息将很快粘贴为注释

  • 我只是想创建一个包含一列的表,并向其中添加一些值,但我得到了两个错误。一种是取消对db.close()的注释;句柄关闭太快,另一个是下面是代码。

  • 问题内容: 我正在尝试在Go中执行MERGE语句: 但是我得到了这个错误: 在MySQL中也是如此: 怎么了? 问题答案: 不支持,等效的是 插入…在重复的密钥更新上 尝试这个, 但请确保将其设置为或。