在jupyter中創建資料庫表時,我們在表的列中指定了資料型別的限制,但是由于某些原因我們仍然可以添加其他資料型別。例如,st_gr 列應該只包含數字,但沒有什么能阻止我們添加一行(代碼如下) 為什么?怎么修?
%%sql sqlite://
CREATE TABLE students(
st_id INTEGER PRIMARY KEY AUTOINCREMENT,
fname VARCHAR(15) NOT NULL,
lname VARCHAR(15) NOT NULL,
st_gr NUMERIC
)
%%sql sqlite://
INSERT INTO students (fname, lname, st_gr) VALUES('Barack', 'Obama', 'text not num')
uj5u.com熱心網友回復:
SQLite 使用動態型別系統。宣告的列型別僅表示首選值型別,除非表是嚴格的。
uj5u.com熱心網友回復:
如果您使用的是 sqlite 版本 > 3.37.0,請考慮使用STRICT 表。
如果沒有,也許檢查約束?軟體驗證?不同的資料庫?
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/530691.html
標籤:sqlitejupyter-笔记本ipython-sql
下一篇:如何只回傳一個特定的列?
