【问题标题】:Syntax error sqlite table not created未创建语法错误 sqlite 表
【发布时间】:2016-10-03 22:18:27
【问题描述】:

这是我的代码,我在 logcat 中遇到了这个错误。

10-05 17:40:09.650: E/Database(1595): 准备'CREATE TABLE mytable (_id INTEGER PRIMARY,名称文本不为空,设计文本时,在 0x8b2d440 上出现故障 1(靠近“,”:语法错误) not null,salary text not null,join text not null,dpay text not null )'。

package example.servant;

    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.util.Log;

    public class datahandler extends SQLiteOpenHelper {

        public static final String KEY_ID="_id";
        public static final String KEY_NAME="name";
        public static final String KEY_DESIG="desig";
        public static final String KEY_SALARY="salary";
        public static final String KEY_DPAY="dpay";
        public static final String KEY_JOIN="join";

        public static final String DATABASE_NAME="servantrecord.sqlite";
        public static final String TABLE_NAME="mytable";
        public static final String TAG="datahandler";
        public static final int DATABASE_VERSION=1;

        public static final String DATABASE_CREATE=("CREATE TABLE " + TABLE_NAME + " ( " + KEY_ID
                + " INTEGER PRIMARY, " + KEY_NAME + " text not null, "
                + KEY_DESIG + " text not null, " + KEY_SALARY + " text not null, "
                + KEY_JOIN + " text not null, " + KEY_DPAY + " text not null )");


        public datahandler(Context context){

            super(context, DATABASE_NAME, null, DATABASE_VERSION);

            Log.d("datahandler", "Database created");

        }

            @Override
            public void onCreate(SQLiteDatabase db) {

                    db.execSQL(DATABASE_CREATE);
                    Log.d("datahandler", "table created");

            }

            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

                db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
                onCreate(db);

            }
    }

【问题讨论】:

    标签: android database sqlite


    【解决方案1】:

    PRIMARY 替换为PRIMARY KEY

    将列 join 更改为其他名称 - join 是保留的 SQL 关键字。

    【讨论】:

    • 是的,它工作“加入”是主要问题,谢谢你非常感谢:)
    猜你喜欢
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 2018-10-09
    • 2021-11-30
    • 2021-10-15
    • 1970-01-01
    相关资源
    最近更新 更多