java - Android,SQL 数据库故障 1 语法错误?找不到catlog正在讨论的内容

标签 java android sql sqlite

Database - Failure 1 (near "text" : syntax error) on 0x25c768 when preparing...

这是当我尝试运行我的应用程序时 LogCat 中显示的错误。我有以下设置数据库的代码:

private static final String DATABASE_NAME = "recipesDB";
private static final String DATABASE_TABLE = "recipes";
private static int DATABASE_VERSION = 1;

public static final String KEY_NAME = "name";
public static final String KEY_TYPE = "type";
public static final String KEY_INGREDIENTS = "ingredients";
public static final String KEY_NOTES = "notes";
public static final String KEY_BOIL = "boil";
public static final String KEY_PRIMARY = "primary";
public static final String KEY_SECONDARY = "secondary";
public static final String KEY_ROWID = "_id";
private DatabaseHelper mDbHelper; // DatabaseHelper is an inner class extending SQLiteOpenHelper

private SQLiteDatabase mDb;

private static final String DATABASE_CREATE = 
    "create table " + DATABASE_TABLE + " ("
    + KEY_ROWID + " integer primary key autoincrement, "
    + KEY_INGREDIENTS + " text not null, "
    + KEY_NOTES + " text not null, "
    + KEY_BOIL + " text not null, "
    + KEY_PRIMARY + " text not null, "
    + KEY_SECONDARY + " text not null); ";

private final Context cntx;

public recipesDB(Context cnt){
    this.cntx = cnt;
}

我很不明白为什么会收到此错误,因为代码和语法似乎都很好。当我在手机上运行应用程序并单击打开 ActivityList 的按钮时,出现运行时错误。还有更多未显示的代码,用于打开并捕获 open() 上的 SQLExpection 等。

有什么建议吗?

最佳答案

尝试重命名列“primary”——它是一个保留字(如主键自动增量......),可能会导致 SQLite 阻塞。

关于java - Android,SQL 数据库故障 1 语法错误?找不到catlog正在讨论的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6700681/

相关文章:

MySQL select 查询中的 PHP foreach 语句

sql - PL/SQL : Creating objects

Java - 有没有办法从引用类型推断对象类型

Android 的 Javadoc 生成

java - Java中按字典顺序排列的整数ArrayList的ArrayList

java - 在 Java 中装箱拆箱

android - 有没有办法检查网络共享是否处于 Activity 状态?

mysql - SQL:字段值出现在 SELECT * 中但无法使用 WHERE 子句查询

缩放按钮的Android自定义形状

android - ContentValues 将值作为 sql 条件