[英]How to set a default value to a TEXT column in Sqlite?
我有一張簡單的桌子。 我正在嘗試將默認值放入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列有所改變。 提前致謝 :)
編輯
這是insert語句:
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 文檔 。
改變桌子,
sqlitedbInstance.execSQL("alter table myTable add column Address TEXT DEFAULT 'ABC' ");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.