android - SQLite 异常 - 创建表

标签 android sqlite

我遇到了一个异常,但我不明白为什么会抛出它。当我添加表格消息时出现异常。请看一下,看看是否有我遗漏的错误。提前致谢。

异常(exception):

 Caused by: android.database.sqlite.SQLiteException: near "From": syntax error (code 1): , while compiling: CREATE TABLE Messages (UniqueId TEXT PRIMARY KEY,From TEXT,To TEXT,Subject TEXT,Body TEXT,HandledOn TEXT,IsRead INTEGER,CreatedOn TEXT,UpdatedOn TEXT,DeletedOn TEXT);

引发异常的语句,在SQLiteOpenHelper中:

@Override
public void onCreate(android.database.sqlite.SQLiteDatabase db) {
    String CREATE_MESSAGES_TABLE =
            "CREATE TABLE " + TABLE_MESSAGES + "("
                    + COLUMN_UNIQUEID + " TEXT PRIMARY KEY,"
                    + COLUMN_FROM + " TEXT,"
                    + COLUMN_TO + " TEXT,"
                    + COLUMN_SUBJECT + " TEXT,"
                    + COLUMN_BODY + " TEXT,"
                    + COLUMN_HANDLEDON + " TEXT,"
                    + COLUMN_ISREAD + " INTEGER,"
                    + COLUMN_CREATEDON + " TEXT,"
                    + COLUMN_UPDATEDON + " TEXT,"
                    + COLUMN_DELETEDON + " TEXT"
                    + ");";

    String CREATE_CONTACTS_TABLE =
            "CREATE TABLE " + TABLE_CONTACTS + "("
                    + COLUMN_UNIQUEID + " TEXT PRIMARY KEY,"
                    + COLUMN_NAME + " TEXT,"
                    + COLUMN_EMAIL + " TEXT,"
                    + COLUMN_CREATEDON + " TEXT,"
                    + COLUMN_UPDATEDON + " TEXT,"
                    + COLUMN_DELETEDON + " TEXT"
                    + ");";

    db.execSQL(CREATE_MESSAGES_TABLE);
    db.execSQL(CREATE_CONTACTS_TABLE);
}

最佳答案

您正在使用诸如“from”和“to”之类的 protected 关键字作为表名,这在 SQLite 中是不允许的:

https://www.sqlite.org/lang_keywords.html

关于android - SQLite 异常 - 创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21456144/

相关文章:

ios - FMDB 不构建 iOS 6.1

Sqlite:如何显示结果X到Y

android - 如何为桌面上的任何应用程序创建快捷方式?

c# - Xamarin Android - 隐藏 TextView

android - 如何在 android 的另一个 Activity 中使用任何其他布局的组件(setContentView() 中定义的除外)

android - "exist"附近的 SQLite 故障

python - 数据库错误: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings

c# - MvvmCross 4 和 WPF SQLite 插件

android - 如何阻止 android SearchView x 按钮隐藏提示和底部边框?

android - SherlockFragment 的 Activity