android更新数据库错误

android更新数据库错误,android,database,sqlite,sql-update,Android,Database,Sqlite,Sql Update,我试图将数据库中的一个值false更新为true 这是我的密码 public void updatecheck( int id){ mDb = mDbHelper.getWritableDatabase(); ContentValues newValues = new ContentValues(); newValues.put("check", true); mDb.update(channel, newValues, "id"+" = ?

我试图将数据库中的一个值false更新为true

这是我的密码

public void updatecheck( int id){
     mDb = mDbHelper.getWritableDatabase();

       ContentValues newValues = new ContentValues();
       newValues.put("check", true);
       mDb.update(channel, newValues, "id"+" = ?", new String [] {String.valueOf(id)}); 
}

但是我犯了这个错误

02-28 15:15:37.515:E/AndroidRuntime(5539): android.database.sqlite.SQLiteException:靠近“检查”:语法错误 (代码1):,编译时:更新GenelkCulture2012集检查=?哪里 id=

已解决:

新代码

 ContentValues newValues = new ContentValues();
         newValues.put("tamam", true);
         mDb.update(channel, newValues, "id"+" = ?", new String [] {String.valueOf(id)}); 
newValues.put(“检查”,true)

您正在尝试存储true,这是一种布尔数据类型,SQLite不支持该数据类型。相反,您必须将它们存储在以下类型之一中:

  • NULL。该值为空值
  • 整数。该值是有符号整数,根据值的大小存储在1、2、3、4、6或8字节中
  • 真实的。该值是一个浮点值,存储为8字节IEEE浮点数
  • 文本。该值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE或UTF-16LE)存储
  • 水滴。该值是一组数据,与输入时完全相同
  • 我建议将布尔成员存储为0或1。更多信息请点击此处:

    newValues.put(“check”,true)

    您正在尝试存储true,这是一种布尔数据类型,SQLite不支持该数据类型。相反,您必须将它们存储在以下类型之一中:

  • NULL。该值为空值
  • 整数。该值是有符号整数,根据值的大小存储在1、2、3、4、6或8字节中
  • 真实的。该值是一个浮点值,存储为8字节IEEE浮点数
  • 文本。该值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE或UTF-16LE)存储
  • 水滴。该值是一组数据,与输入时完全相同

  • 我建议将布尔成员存储为0或1。此处的详细信息:

    CHECK
    是SQL中的保留关键字。重命名列或在反勾号中引用它。

    CHECK
    是SQL中的保留关键字。重命名该列或在反勾中引用它。

    它看起来很正常。“true”没有问题实际上你是对的,因为布尔值会产生一些问题。我已将布尔值更改为0,1,但作为文本,所以布尔值数据类型确实导致了问题?哦,什么类型的?看起来很正常。“true”没有问题实际上你是对的,因为布尔值会产生一些问题。我已将布尔值更改为0,1,但作为文本,所以布尔值数据类型确实导致了问题?哦,什么类型?