簡體   English   中英

如何在Sqlite中為TEXT列設置默認值?

[英]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);    

這里cvContentValues的對象,它只包含列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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM