繁体   English   中英

在Android中执行SQLite时获取语法错误

[英]Getting a syntax error while executing SQLite in android

我正在尝试使用SQLite数据库在android本地存储电子邮件。 当我第一次调用context.getWritableDatabase() ,该数据库尚不存在并已创建。 我在create语句中遇到语法错误...我的代码如下所示...

private static final String DATABASE_NAME = "views.db";
    private static final int DATABASE_VERSION = 1;

    public static final String TABLE_VIEWS = "views";

    private static final String KEY_ID = "id";
    private static final String KEY_INDEX = "index";
    private static final String KEY_FROM = "from";
    private static final String KEY_UNREAD = "unread";
    private static final String KEY_SUBJECT = "subject";
    private static final String KEY_BODY = "body";


    // Database creation sql statement
    private static final String CREATE_VIEWS_TABLE = "CREATE TABLE " + TABLE_VIEWS + " ("
            + KEY_ID + " INTEGER PRIMARY KEY," 
            + KEY_INDEX + " INTEGER NOT NULL,"
            + KEY_UNREAD + " TEXT NOT NULL," 
            + KEY_SUBJECT + " TEXT NOT NULL,"
            + KEY_FROM + " TEXT NOT NULL," 
            + KEY_BODY + " TEXT NOT NULL);";

我是SQLite语法的新手,我一直在寻找可能导致此错误的原因。 知道是什么原因造成的吗? 数据库确实是在本地存储此类数据的最佳方法。

确切的错误如下所示。

07-01 17:54:42.827: E/AndroidRuntime(3036): Caused by: android.database.sqlite.SQLiteException: near "index": syntax error: CREATE TABLE views (id INTEGER PRIMARY KEY,index INTEGER NOT NULL,unread TEXT NOT NULL,subject TEXT NOT NULL,from TEXT NOT NULL,body TEXT NOT NULL);

您不能将关键字“ index”用作表列名称,而应将其更改为tbl_index之类的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM