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

SqliteException:靠近“between”:语法错误(代码1)

吴唯
2023-03-14

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

private static final String SQL_CREATE_ENTRIES =
        "CREATE TABLE " + DatabaseContract.FeedEntry.TABLE_NAME + " (" +
                DatabaseContract.FeedEntry._ID + " INTEGER PRIMARY KEY," +
                DatabaseContract.FeedEntry.COLUMN_NAME_UNIT_FROM + " TEXT," +
                DatabaseContract.FeedEntry.COLUMN_NAME_UNIT_CONVERTING_TO + " TEXT," +
                DatabaseContract.FeedEntry.COLUMN_NAME_Ratio + " TEXT)";
android.database.sqlite.SQLiteException: near "between": syntax error (code 1): , while compiling: CREATE TABLE Conversions between units (_id INTEGER PRIMARY KEY,Converting from unit TEXT,Converting to unit TEXT,Ratio TEXT)

共有1个答案

隆向晨
2023-03-14

您的表名有空格单元之间的转换(或者您应该更新databaseContract.feedentry.table_name)。

您可能希望将其命名为conversions_between_units,但如果表名中确实有空格,则应该在单引号或双引号之间:

"CREATE TABLE \"" + DatabaseContract.FeedEntry.TABLE_NAME + "\" ("

尽管SQLite支持单引号,但便携的方法是使用双引号。

对于也包含空格的COLUMN_NAME_UNIT_FROM和COLUMN_NAME_UNIT_CONVERTING_TO也是如此。

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

  • 我的SQL语句语法有问题,LogCat说问题就在哪里。我哪里错了? 下面是我的代码: 任何帮助或建议都将欣然接受,这是我的项目的最后一块拼图。当我做完这件事我就可以Rest了。提前道谢。

  • E/SqliteDatabase(6729):Android.database.sqlite.sqliteException:“CREATE”附近:语法错误(代码1):,编译时:插入到创建表关系(_id整数主键自动增量,名称文本不为NULL,电子邮件文本不为NULL,年代文本不为NULL,位置文本不为NULL);(电子邮件,名称,年代,位置)值(?,?,?,?) DbManager类 从插入类中,

  • 我创建DbManger类来处理Sqlite数据库操作,我尝试在数据库中插入值,但它给出了一个错误 E/SQLiteDatabase(6729):android.database.sqlite.SQLiteExcture:近"CREATE":语法错误(代码1):,编译时: INSERT INTO CREATE表关系(_idINTEGER主键自动输入,名称文本不为空,电子邮件文本不为空,年龄文本不为空

  • 我的Android应用程序中没有内置以下Dao: 当我在Android Studio3中构建项目时,我在gradle构建步骤中得到以下错误: 如果我删除loadAll函数,一切都像魅力一样工作...这个函数有什么问题?

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