簡體   English   中英

SQLite-如何修復語法錯誤(代碼1)

[英]SQLite - How to fix syntax error (code 1)

在我的Input.java文件中

public class Input {

    private int _id;
    private String _username;

    public Input(){

    }

    public Input(String username){
        this._username = username;
    }

    public void set_id(int _id) {
        this._id = _id;
    }

    public void set_username(String _username) {
        this._username = _username;
    }

    public int get_id() {
        return _id;
    }

    public String get_username() {
        return _username;
    }
}

在我的DBHandler.java里面

public class DBHandler extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "input.db";
    public static final String TABLE_INPUT = "input";
    public static final String COLUMN_ID = "_id";
    public static final String COLUMN_USERNAME = "username";

public DBHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, DATABASE_NAME, factory, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
    String query = "CREATE TABLE " + TABLE_INPUT + "(" +
            COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT " +
            COLUMN_USERNAME +  " TEXT " +
            ");";
    db.execSQL(query);
}

每當我嘗試執行此操作時,都會收到錯誤消息:

Caused by: android.database.sqlite.SQLiteException: near "username": syntax error (code 1): , while compiling: CREATE TABLE input(_id INTEGER PRIMARY KEY AUTOINCREMENT username TEXT );

我到底在做什么錯?

用戶名前缺少逗號:

" INTEGER PRIMARY KEY AUTOINCREMENT<missing comma here> "

更正了以下代碼:

 String query = "CREATE TABLE " + TABLE_INPUT + "(" +
            COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            COLUMN_USERNAME +  " TEXT " +
            ");"; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM