9
我對SQLITE相當陌生,我注意到只有4種數據類型,但我在網上看到的例子是人們將自己的數據類型放入其中。我真的不明白這一點,並想知道是否有人可以向我解釋這一點。例如,我看到一列將保存一個日期,並給出的數據類型是不存在的時間戳。它默認是什麼?當你自己創建文本時,它是否默認爲文本?SQLITE自定義數據類型?
我對SQLITE相當陌生,我注意到只有4種數據類型,但我在網上看到的例子是人們將自己的數據類型放入其中。我真的不明白這一點,並想知道是否有人可以向我解釋這一點。例如,我看到一列將保存一個日期,並給出的數據類型是不存在的時間戳。它默認是什麼?當你自己創建文本時,它是否默認爲文本?SQLITE自定義數據類型?
sqlite3
使用動態類型系統。只有五個存儲類: NULL,整數,實數,文本和blob。 (來源:Datatypes In SQLite Version 3)
而且,引用該網頁:
在SQLite版本3數據庫的任何列,除了一個INTEGER PRIMARY KEY列,可用於存儲任何存儲類的值。
除了integer primary key
異常之外,SQLite根本不執行類型。這意味着您在create table
中輸入的類型名稱是純粹的信息。
create table mytab (a apples, b bananas);
是有效的create table
聲明。您可以將時間戳,文本,Blob插入到兩欄(不是說您應該,但可以)。
查看關於類型系統的鏈接參考文檔以獲取更多信息。
sqlite> create table mytab (a apples, b bananas);
sqlite> insert into mytab values (CURRENT_TIME, NULL);
sqlite> insert into mytab values ('hello', 3.14159);
sqlite> select * from mytab;
14:59:18|
hello|3.14159
直接回答你的問題:沒有默認值。存儲類型與存儲在數據庫中的每個值關聯,而不與表中的列關聯。
Thanks Mat,那就是我一直在尋找的東西 – Pittfall