sage int enum(0,1,2,3,4,5,6,7,8,9,10),只能用枚舉法!mysql不具備限制范圍的功能
網(wǎng)站設計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺管理系統(tǒng);網(wǎng)站建設、成都網(wǎng)站建設收費合理;免費進行網(wǎng)站備案等企業(yè)網(wǎng)站建設一條龍服務.我們是一家持續(xù)穩(wěn)定運營了十余年的創(chuàng)新互聯(lián)公司網(wǎng)站建設公司。
那你在用戶輸入的時候給他來個 select框吧,然后在入庫的時候比對下,是這些才可以入庫操作,否則,提示您輸入的用戶名不符合規(guī)范
SQL CHECK?約束。
CHECK?約束用于限制列中的值的范圍。
如果對單個列定義?CHECK?約束,那么該列只允許特定的值。
如果對一個表定義CHECK約束,那么此約束會在特定的列中對值進行限制。
--刪除表
drop table temp;
--創(chuàng)建表
CREATE TABLE temp (flag NUMBER(1));
--增加約束
ALTER TABLE temp?ADD?CONSTRAINT?ck_temp_flag CHECK
(flag=1 or flag=0);
--測試效果版
insert into temp values(1);
insert into temp values(0);
insert into temp values(1);
--測試效果(約束禁止插入數(shù)據(jù)),提示權:違反檢查約束條件
insert into temp values(2);
insert into temp values(3);
SQL CHECK Constraint on CREATE TABLE。
下面的?SQL?在?"Persons"?表創(chuàng)建時為?"Id_P"?列創(chuàng)建?CHECK?約束。CHECK?約束規(guī)定?"Id_P"?列必須只包含大于?0?的整數(shù)。
My SQL:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (Id_P0)
)
擴展資料:
不同數(shù)據(jù)庫的約束寫法:
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Id_P int NOT NULL?CHECK (Id_P0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
如果需要命名?CHECK?約束,以及為多個列定義?CHECK?約束,請使用下面的?SQL?語法:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (Id_P0 AND City='Sandnes')
)
SQL CHECK Constraint on ALTER TABLE.
如果在表已存在的情況下為?"Id_P"?列創(chuàng)建?CHECK?約束,請使用下面的?SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (Id_P0)
如果需要命名?CHECK?約束,以及為多個列定義?CHECK?約束,請使用下面的?SQL?語法:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (Id_P0 AND City='Sandnes')
撤銷?CHECK?約束。
如需撤銷?CHECK?約束,請使用下面的?SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
這是一項新功能,用于指定在插入或更新到一行之前檢查值的條件。如果表的任何行的搜索條件的結果為 FALSE,則約束可能返回錯誤(但如果結果為 UNKNOWN 或 TRUE,則約束不會返回錯誤)。此功能開始在 MySQL 8.0.16 上運行,在以前的版本中,我們可以創(chuàng)建它,但它不起作用,這意味著支持語法,但不起作用。要牢記的使用規(guī)則:
AUTO_INCREMENT 自增列不允許使用
引用另一個表中的另一列不允許使用
存儲的函數(shù)和用戶定義的函數(shù)不允許使用
存儲過程和函數(shù)參數(shù)不允許使用
子查詢不允許使用
在外鍵中用于后續(xù)操作(ON UPDATE,ON DELETE)的列不允許使用
為下一條語句 INSERT,UPDATE,REPLACE,LOAD DATA 和 LOAD XML 評估此次監(jiān)測。此外,還會為 INSERT IGNORE,UPDATE IGNORE,LOAD DATA…IGNORE 和 LOAD XML…IGNORE 評估此監(jiān)測約束。對于這些語句,如果約束的評估結果為 FALSE,則會發(fā)生警告。插入或更新被跳過。
我們可以使用此功能在表中添加更多的邏輯,但是根據(jù)我以前作為程序員的經(jīng)驗,我不建議在表中添加邏輯,因為除非您無法訪問應用程序代碼,否則很難找到或調(diào)試錯誤。
網(wǎng)站欄目:mysql怎么約束列取值 mysql中約束
URL網(wǎng)址:http://www.rwnh.cn/article24/doshoje.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、關鍵詞優(yōu)化、網(wǎng)站改版、網(wǎng)站收錄、網(wǎng)頁設計公司、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)