Android SQLite - 一次创建两个表

时间:2015-09-26 15:46:49

标签: android sqlite

我试图在扩展SQLiteOpenHelper的对象中的onCreate(SQLiteDatabase database)函数中一次创建两个SLite表,但它在第一次创建表DB对象时停止(当我注释掉第二个查询时它工作正常)

这是我的onCreate功能:

@Override
public void onCreate(SQLiteDatabase database) {
    String query = "CREATE TABLE users ( userID INTEGER PRIMARY KEY, login TEXT, password TEXT, name TEXT, "
            + "phone TEXT, country TEXT, balance TEXT)";

    String query2 = "CREATE TABLE transactions ( transactionID INTEGER PRIMARY KEY, "
            + "from TEXT, to TEXT, amount TEXT, title TEXT)";

    database.execSQL(query);
    database.execSQL(query2);
}

我还尝试将其放在一个这样的查询中:

String query = "CREATE TABLE users ( userID INTEGER PRIMARY KEY, login TEXT, password TEXT, name TEXT, "
                + "phone TEXT, country TEXT, balance TEXT) CREATE TABLE transactions ( transactionID INTEGER PRIMARY KEY, "
                + "from TEXT, to TEXT, amount TEXT, title TEXT)";

然后它可以工作,但当我想从transactions表中获取数据时停止我的应用程序(users表工作正常)

我做错了什么?

1 个答案:

答案 0 :(得分:4)

您在查询2“from”和“to”中指定的列名是关键词。

所以请尝试下面的查询2。

 String query2 = "CREATE TABLE transactions ( transactionID INTEGER PRIMARY KEY, "
        + "'from' TEXT, 'to' TEXT, amount TEXT, title TEXT)";