我有一个简单的表格。我正在尝试为 TEXT 列设置默认值。这是表查询:
"CREATE TABLE book(_id INTEGER PRIMARY KEY AUTOINCREMENT, book_id TEXT NOT NULL DEFAULT '0', book_name TEXT NOT NULL);"
它创建了表格,但是当我尝试插入数据时出现问题。我只是想给 book_name 一个书名,因为我预计 book_id 该列的默认值为 0。但它没有,它添加了空值,所以该行不会被插入。我也试过这个查询:
"CREATE TABLE book(_id INTEGER PRIMARY KEY AUTOINCREMENT, book_id TEXT NOT NULL DEFAULT \'0\', book_name TEXT NOT NULL);"
但问题依旧。我搜索了堆栈溢出,并得到了一些答案,但它们很旧,现在不适合我。因此,在如何将默认值设置为 sqlite 中的 TEXT 列方面发生了一些变化。提前致谢:)
编辑
这是插入语句:
database.insert("book", null, cv);
此处 cv 是 ContentValues 的对象,它仅包含列 book_name 的值。
最佳答案
您可以在创建表时为列指定一个默认值。 (似乎您无法使用 ALTER 语句添加默认值,因此您必须重新创建表。)
CREATE TABLE your_table_name
(MainContactName TEXT NOT NULL DEFAULT '')
例如,
CREATE TABLE book(_id INTEGER PRIMARY KEY AUTOINCREMENT,book TEXT DEFAULT "abc");
现在看到,默认值设置为“abc”
检查sqllite documentation .
关于android - 如何为 Sqlite 中的 TEXT 列设置默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34916028/