java - 设置 SQLite 列默认值时如何使用字符串常量

标签 java android sqlite default

我知道这可能是一个简单的语法错误,但我是 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,"  + 

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

最佳答案

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

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,"  + 

关于java - 设置 SQLite 列默认值时如何使用字符串常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52171877/

相关文章:

java - 调用 Https 网址

java - float 操作按钮未显示在 bottomsheetfragment 折叠状态

java - 使用 MVC 风格,调用查询函数的最佳位置在哪里?

Android GridView 重复图像

java - 按钮在Click中不起作用

java - 从服务器到客户端没有任何返回

java - Android smack 4.1 连接问题

android - 使用共享首选项/ session 使用 Facebook-Android-SDK 3.0 登录

mysql - 通过查询搜索时包括父属性

android - cordova android sql select返回长度1但没有行