【问题标题】:SQLiteException: near "between": syntax error (code 1)SQLiteException:在“之间”附近:语法错误(代码 1)
【发布时间】:2020-05-19 08:16:30
【问题描述】:

私有静态最终 int DATABASE_VERSION = 1; private static final String 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)

无法弄清楚我做错了什么!

【问题讨论】:

    标签: android


    【解决方案1】:

    您的表名中有空格 Conversions between units(或者您应该更新 DatabaseContract.FeedEntry.TABLE_NAME)。

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

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

    虽然 SQLite 支持单引号,但可移植的方式是使用双引号。

    COLUMN_NAME_UNIT_FROMCOLUMN_NAME_UNIT_CONVERTING_TO 也是如此,它们也包含空格。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    • 2013-03-13
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 2016-06-29
    相关资源
    最近更新 更多