MYsql 怎么約束列的取值范圍

創(chuàng)新互聯(lián)為客戶提供專業(yè)的成都網(wǎng)站建設(shè)、成都做網(wǎng)站、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁設(shè)計(jì)、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、移動(dòng)網(wǎng)站建設(shè)等網(wǎng)站方面業(yè)務(wù)。
一般是建立check約束。例如設(shè)置sex一列取值只能為'男'或'女' 建表tab10時(shí)命令為create table tabl0 (sex char(2) check(sex in ('男','女'))..
int是不太可能啦,除非用存儲(chǔ)過程或者觸發(fā)器去限制,或者其它mysql的高級(jí)功能。
你想限制范圍在15-20,最簡單可以用enum枚舉。或者在應(yīng)用層限制。
enum('15','16','17','18','19','20')
sql 條件部分:
where dept = '計(jì)劃部' and 20 BETWEEN substring_index(level,'-',1) and substring_index(level,'-',-1);
這樣可以匹配上 ,但是強(qiáng)烈建議 level 分為兩個(gè)列 level_start 、level_end
假設(shè)是數(shù)組形式如:需要查1,2,3,4,5,6的數(shù)據(jù)就用in :select * from table where num in(1,2,3,4,5,6)
如果需要查詢范圍內(nèi)的,如:查詢1-6范圍內(nèi)的可以:
select * from table where num 1
and num 6
int 代表32位整數(shù),占用4個(gè)字節(jié)取值范圍在(-2147483648~+2147483647)可以看到int類型能接受最大的數(shù)值是2147483647(這個(gè)數(shù)值只有10位),這個(gè)11并不是代表他的位數(shù),而是代表顯示的位數(shù),在mysql中有個(gè)zerofill,在建表的時(shí)候指定了0的話,就是說當(dāng)不足11位的時(shí)候會(huì)用0來補(bǔ)全11位,默認(rèn)的時(shí)候是以空格補(bǔ)全!比如int(4)的一個(gè)字段,你插入12,如果設(shè)定了zerofill的話,最終的結(jié)果是0012,否則的話就是12+空格。int(11)也是一樣的道理!
滿意請采納
網(wǎng)站題目:mysql怎么取值范圍內(nèi) mysql取值范圍在18到30之間
本文路徑:http://chinadenli.net/article10/hjocdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)