將值插入到表中時是否有避免將無效數據存入列的方法?將數據插入表時SQL可接受的值範圍
前表 - 項目
Itno - pk
Itdesc
salesprice - Acceptable values should > 150 and < 10500
TY
將值插入到表中時是否有避免將無效數據存入列的方法?將數據插入表時SQL可接受的值範圍
前表 - 項目
Itno - pk
Itdesc
salesprice - Acceptable values should > 150 and < 10500
TY
以下語法適用到MySQL/SQL服務器/甲骨文/ MS訪問。
CREATE TABLE mytable
(
Itno int NOT NULL,
Itdesc varchar(255) NOT NULL,
salesprice int,
CONSTRAINT chk_salesprice CHECK (salesprice >150 AND salesprice < 10500)
)
您還可以使用用戶定義的函數與檢查約束驗證動態值。
@marc_s,謝謝你提示我錯字的錯誤。 –
除了@ Romil的回答,最RDBMS的支持觸發可之前或之後提交驗證數據。
通常情況下,CHECK
約束是首選,但有時(特別是在數據必須根據可變標準進行評估的情況下),觸發器是唯一的方法。
在表中的這個字段上創建一個約束。你正在使用哪個db。 –
不同的數據庫都有約束系統,但通常,在您甚至考慮寫入數據庫之前很久,您應該已經清理了輸入,通知了用戶錯誤,進行了計算以產生寫入或更改程序狀態的值,等等。 所以,如果你只是問你的數據庫去做,你做錯了。 –
什麼是數據庫系統,哪個版本? ** SQL **只是*結構化查詢語言* - 許多數據庫系統使用的語言,而不是數據庫產品......像這樣的東西通常是特定於供應商的 - 所以我們真的需要知道您的數據庫系統是什麼,重新使用.... –