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. 用腳本和查詢主動(dòng)監(jiān)視Oracle 9i性能2. 特定配置下Oracle日志批量提交的最優(yōu)數(shù)量3. Oracle數(shù)據(jù)庫(kù)在線表格重定義功能簡(jiǎn)介4. 深入探討Oracle數(shù)據(jù)庫(kù)10g的Shrink機(jī)制5. MySQL Community Server 5.1.496. Oracle中如何從BasicFile遷移到SecureFile7. 關(guān)鍵字:oracle_sid,server_name,網(wǎng)絡(luò)連接,數(shù)據(jù)庫(kù)啟動(dòng)8. mysql-joins具體用法說(shuō)明9. Oracle9i在線表格重定義來(lái)組織表格10. oracle定時(shí)分析用戶下的所有表
