Mysql 設(shè)置boolean類(lèi)型的操作
我們創(chuàng)建test表,并設(shè)置其bl字段為boolean類(lèi)型
create table test(id int PRIMARY key,status boolean)
這樣是可以創(chuàng)建成功。查看建表后的語(yǔ)句會(huì)發(fā)現(xiàn),mysql把它替換成tinyint(1)。
tinyint只能存儲(chǔ)從0到255的整數(shù),由于MySql中沒(méi)有boolean類(lèi)型,所以會(huì)用到tinyint[1]類(lèi)型來(lái)表示,在mysql中boolean=tinyint[1]
0代表false
1代表true
在pojo里直接定義該屬性為布爾值即可:private Boolean status
當(dāng)類(lèi)型為tinyint[1]時(shí),不管存儲(chǔ)的是0或1還是2,3,4…返回的都是boolean類(lèi)型,當(dāng)我們需要用他存儲(chǔ)整值時(shí),可以設(shè)置為tinyint[4]
MySQL boolean類(lèi)型解決方案1.需求來(lái)源今天在定義一個(gè)需求的時(shí)候,使用rest請(qǐng)求操作數(shù)據(jù)庫(kù)的時(shí)候,某一個(gè)key對(duì)應(yīng)的value要是boolean值。
在mysql中某一個(gè)字段要是布爾類(lèi)型值。
{'neId': 2,'data': [{'alarmLevel': '1','selection': true},{'alarmLevel': '2','selection': true}]}2.搜刮'民脂民膏'
在用MySQL設(shè)置boolean的時(shí)候發(fā)現(xiàn)跟本就沒(méi)有這種類(lèi)型,后來(lái)搜刮'民脂民膏'了解到解決方案:
boolean類(lèi)型用tinyint表示。
3.創(chuàng)建的數(shù)據(jù)庫(kù)建標(biāo)結(jié)構(gòu):
DROP TABLE IF EXISTS db_msp.alarm_shield_level;CREATE TABLE db_msp.`alarm_shield_level` ( `neId` int(11) NOT NULL, `alarmLevel` varchar(32) NOT NULL, `alarmLevelCh` varchar(32) NOT NULL, `alarmLevelEn` varchar(32) NOT NULL, `enableStatus` tinyint(1) NOT NULL, PRIMARY KEY (`neId`,`alarmLevel`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;4.結(jié)論
MySQL保存Boolean值時(shí),用1代表TRUE,0代表FALSE,boolean類(lèi)型在MySQL里的類(lèi)型為tinyint(1)。
java代碼中查庫(kù)的時(shí)候,庫(kù)中數(shù)據(jù)是1,代碼返回true ; 庫(kù)中數(shù)據(jù)是0,代碼返回false 。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. sql server的cube操作符使用詳解2. MySQL多表查詢(xún)的具體實(shí)例3. Mysql入門(mén)系列:安排預(yù)防性的維護(hù)MYSQL數(shù)據(jù)庫(kù)服務(wù)器4. Mybatis 一級(jí)緩存與二級(jí)緩存的實(shí)現(xiàn)5. 詳解sql server中數(shù)據(jù)庫(kù)快照工作原理6. MySQL 參數(shù)相關(guān)概念及查詢(xún)更改方法7. 為SQLite3提供一個(gè)ANSI到UTF8的互轉(zhuǎn)函數(shù)8. 盤(pán)點(diǎn)SqlServer 分頁(yè)方式和拉姆達(dá)表達(dá)式分頁(yè)9. 關(guān)于MySQL的ORDER BY排序詳解10. SQL Server數(shù)據(jù)庫(kù)超級(jí)管理員賬號(hào)防護(hù)知識(shí)
