【问题标题】:How To Use String Constant When Setting An SQLite Column Default Value设置 SQLite 列默认值时如何使用字符串常量
【发布时间】:2018-09-05 04:01:02
【问题描述】:

我知道这可能是一个简单的语法错误,但我是 SQLite 的新手,我 已经搜索了这个简单的答案,但我不能。我知道在创建表时可以像以前那样使用字符串常量,但是在设置默认文本值时它对我不起作用。请帮忙!

public static final String USER_TABLE = "USER_TABLE";

   //works fine here!
   db.execSQL("CREATE TABLE " + USER_TABLE+
            "(_id INTEGER PRIMARY KEY AUTOINCREMENT,"
            + FFDBSchema.Colz.MODE_ID_COL + "TEXT DEFAULT NULL,"
            //doesn't work here!
            + FFDBSchema.Colz.TABLE_ID_COL + "TEXT DEFAULT "  + 
            USER_TABLE+","
            + FFDBSchema.Colz.ANOTHER_TABLE+ "TEXT,"  + 

字符串常量在其他情况下也可以工作,但仅仅是我不能使用字符串常量来设置默认列值吗?我必须插入它吗?

【问题讨论】:

    标签: java android sqlite default


    【解决方案1】:

    你必须用单引号引用字符串,所以你需要做这样的事情:

    public static final String USER_TABLE = "USER_TABLE";
    
    db.execSQL("CREATE TABLE " + USER_TABLE+
            "(_id INTEGER PRIMARY KEY AUTOINCREMENT,"
            + FFDBSchema.Colz.MODE_ID_COL + "TEXT DEFAULT NULL,"
            + FFDBSchema.Colz.TABLE_ID_COL + "TEXT DEFAULT '" +USER_TABLE+"',"
            + FFDBSchema.Colz.ANOTHER_TABLE+ "TEXT,"  + 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 2020-05-09
      • 2016-04-27
      • 2015-08-31
      • 2011-04-09
      • 1970-01-01
      相关资源
      最近更新 更多