日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

淺談mysql返回Boolean類型的幾種情況

瀏覽:39日期:2023-10-02 09:49:24
mysql返回Boolean類型

淺談mysql返回Boolean類型的幾種情況

第一種情況,直接返回

select id=’22aa’ from mytest where age=202 返回1 可封裝為trueselect count(*)=1 from mytest where age=202 返回1 可封裝為trueselect count(*)=0 from mytest where age=202 返回0 可封裝為falseselect count(*)<3 from mytest where age=202 返回1 可封裝為trueselect count(*)<=1 from mytest where age=202 返回1 可封裝為trueselect name='aa' from mytest where age=10 當(dāng)name為null時(shí),sql不會(huì)報(bào)錯(cuò),返回結(jié)果也為nul,參照第二種情況的sql 3 代碼會(huì)報(bào)錯(cuò)

總結(jié):

這種情況類似于java中的判斷語(yǔ)句。只是java中=是賦值的意思,所以用了==來(lái)做判斷,而mysql中賦值用set,判斷就直接用=。

第二種情況,返回0或者1也能達(dá)到目的

select enable from mytest where age=202 返回1 可封裝為trueselect count(*) from mytest 返回4 可封裝為Boolean類型,但為falseselect enable from mytest where age=201 返回null 不可封裝為Boolean類型,代碼會(huì)直接報(bào)錯(cuò)select id from mytest where age=202 返回’22aa’ 可封裝為Boolean類型,但為falseselect id from mytest where age=202 返回’true’ 可封裝為Boolean類型,但為trueselect id from mytest where age=202 返回’false’ 可封裝為Boolean類型,false//特殊情況select * from mytest 報(bào)錯(cuò)Expected one result (or null) to be returned by selectOne(), but found: 4select * from mytest where age=202 返回一組數(shù)據(jù)false 2019-08-28 202 15 1 ,可以封裝為falseselect * from mytest where age=202 返回一組數(shù)據(jù)true 2019-08-28 202 15 1 ,可以封裝為trueselect * from mytest where age=202 返回一組數(shù)據(jù)aaaa2019-08-28 202 15 1 ,可以封裝為false

總結(jié):

Mybatis是根據(jù)查詢到的記錄數(shù)進(jìn)行轉(zhuǎn)換的(1=true,0=false)

需要注意的地方:如果查詢到多條記錄(大于1),返回的卻是false, 這時(shí)就與我們的期望的剛好相反。這里,可以換其它方法,可以通過(guò)返回記錄數(shù),進(jìn)行判斷,也可以保證記錄在數(shù)據(jù)庫(kù)是唯一的。也可以直接用第一種情況解決。

根據(jù)第4、5、6條sql語(yǔ)句的測(cè)試,如果字符串是'true',就可以封裝為true,如果為'false'就可以封裝為false,其他情的字符串都為false。

(猜測(cè),并不準(zhǔn)確,需要到mysql官網(wǎng)上來(lái)查,如果返回的字段是字符串,將其轉(zhuǎn)為Boolean時(shí)是按什么規(guī)則轉(zhuǎn)換的,猜測(cè)是類似于java中的字符串轉(zhuǎn)Boolean方法:Boolean.valueOf(“aaa”) //false,該方法如下)

淺談mysql返回Boolean類型的幾種情況

淺談mysql返回Boolean類型的幾種情況 至于8、9、10的sql返回一組,而接受數(shù)據(jù)的只要一個(gè)時(shí)的情況,為什么就取了id的值來(lái)封裝,有待繼續(xù)研究。

MySQL Boolean類型的坑

MySQL中,Boolean只是 tinyint(1) 的別名,也就是說(shuō),MySQL中并沒(méi)有真正的bool類型。而SQLAlchemy生成SQL的時(shí)候并沒(méi)有檢測(cè)到 這一點(diǎn),這就導(dǎo)致一個(gè)問(wèn)題,當(dāng)使用 bool 類型作為查詢條件時(shí),用不上索引,從而導(dǎo)致掃表的行為:

> SELECT COUNT(*) FROM message WHERE message.is_national = 1 AND message.updated_at > ’2020-01-01 00:00:00’ AND message.deleted_at IS NULL;+----------+| COUNT(*) |+----------+| 0|+----------+1 row in setTime: 0.018s> SELECT COUNT(*) FROM message WHERE message.is_national is true AND message.updated_at > ’2020-01-01 00:00:00’ AND message.deleted_at IS NULL;+----------+| COUNT(*) |+----------+| 0|+----------+1 row in setTime: 2.162s

注意觀察第一行和第二行的時(shí)間,很明顯第二行沒(méi)有用上索引,我們來(lái)看看 EXPLAIN 的結(jié)果便知道了:

> EXPLAIN SELECT COUNT(*) FROM message WHERE message.is_national = 1 AND message.updated_at > ’2020-01-01 00:00:00’ AND message.deleted_at IS NULL;| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra || 1 | SIMPLE | message | ref | ix_message_updated_at,idx_updated_at_is_national,ix_message_is_national | ix_message_is_national | 1 | const | 1 | Using where |> EXPLAIN SELECT COUNT(*) FROM message WHERE message.is_national is true AND message.updated_at > ’2020-01-01 00:00:00’ AND message.deleted_at IS NULL;| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra || 1 | SIMPLE | message | ALL | ix_message_updated_at,idx_updated_at_is_national | <null> | <null> | <null> | 一個(gè)很大的數(shù)字 | Using where |

對(duì)此,我只想說(shuō),太坑了!

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
男人的天堂久久精品| 蜜桃视频一区二区三区在线观看| 激情久久中文字幕| 精品视频网站| 日韩欧美二区| 99久久夜色精品国产亚洲狼| 日韩av在线中文字幕| 久久精品二区亚洲w码| 国产精品日韩久久久| 免费看久久久| 欧美日韩少妇| 国产精品地址| 国产美女久久| 日韩有吗在线观看| 深夜福利视频一区二区| 91精品国产91久久久久久黑人| 国产va在线视频| 日韩一区中文| 美女尤物国产一区| 九色porny丨国产首页在线| 一区在线视频观看| 日韩中文在线播放| 欧美中文一区二区| 国产偷自视频区视频一区二区| 99国内精品| 在线精品小视频| 午夜一区在线| 蜜芽一区二区三区| 日本高清久久| 免费久久精品视频| 久久免费影院| 国内在线观看一区二区三区 | 欧美丝袜一区| 在线成人直播| 国产精品99免费看| 91看片一区| 久久精品影视| 亚洲精品一区二区妖精| 99国产精品| 久久国产66| 久久精品97| 欧美片第1页综合| 国产综合亚洲精品一区二| 奇米狠狠一区二区三区| 久久久久91| 精品国产黄a∨片高清在线| 日韩精品国产欧美| 日韩高清不卡一区| 日韩国产欧美一区二区三区| 欧美精品影院| 欧美日韩色图| 9色国产精品| 免费视频国产一区| 国产精品99久久久久久董美香| 日韩av有码| 国产精品videosex极品| 国产欧美日韩综合一区在线播放| 久久国产电影| 黄色成人91| 青青在线精品| 婷婷久久免费视频| 蜜桃成人精品| 婷婷激情一区| 日韩精品免费视频一区二区三区 | 国产精品巨作av| 国产精品久一| 欧美天堂一区二区| 高清av不卡| 亚洲精品激情| 日韩一区二区三区免费| 日韩中文字幕| 99xxxx成人网| 首页亚洲欧美制服丝腿| 国产精品高清一区二区| 麻豆成人综合网| 中文字幕一区二区三区日韩精品 | 日韩精品午夜视频| 欧美视频二区| 深夜视频一区二区| 国产精品视频一区二区三区| 91精品国产成人观看| 麻豆精品新av中文字幕| 成人av二区| 高清av不卡| 国产精品国产三级在线观看| 精品中文一区| 国产精品99精品一区二区三区∴ | 欧美日韩精品在线一区| 97精品国产| 欧美一区=区三区| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲作爱视频| 亚洲精品一级二级| 日本aⅴ精品一区二区三区| 亚洲精品成人图区| 日本亚洲最大的色成网站www| 免费久久精品视频| 蜜桃传媒麻豆第一区在线观看| 婷婷激情图片久久| 国产精品自拍区| 亚洲综合日本| 亚洲成av在线| 日韩在线一二三区| 久久国产主播| 欧美综合精品| 日韩一区二区中文| 免费观看在线综合| 99久久夜色精品国产亚洲1000部| 日韩av影院| 国产精品色在线网站| 亚洲免费网址| 日韩1区2区3区| sm捆绑调教国产免费网站在线观看 | 免费视频亚洲| 色网在线免费观看| 婷婷综合电影| 国产精品三上| 亚洲小说欧美另类婷婷| 亚洲三级av| 国产精品美女久久久| 日本一区二区高清不卡| 亚洲乱码久久| 亚洲成人不卡| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 精品国产亚洲一区二区在线观看| 亚洲精品一区二区在线看| 日韩精品网站| 久久亚洲资源中文字| 国产日本久久| 国产欧美日韩视频在线| 天堂8中文在线最新版在线| 日韩久久一区二区三区| 精品三级av在线导航| av高清一区| 日韩欧美精品一区| 亚洲人成精品久久久| 91精品丝袜国产高跟在线| 中文欧美日韩| 午夜国产精品视频| 亚洲成人三区| 日韩激情中文字幕| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 日韩欧美三区| 亚洲天堂资源| 91久久黄色| 国产一卡不卡| 香蕉视频成人在线观看| 国产精品一区二区精品| 亚洲人成在线影院| 亚洲精品无吗| 中文国产一区| 综合日韩在线| 蜜臀久久99精品久久久画质超高清 | 亚洲精品乱码| 国产精品美女午夜爽爽| 91精品国产91久久久久久黑人| 日本欧美大码aⅴ在线播放| 九九久久国产| 98精品视频| 香蕉久久99| 蜜桃久久久久久| 国产美女久久| 日韩在线观看不卡| 亚洲精选久久| 麻豆一区二区三| 久久精品二区三区| 亚洲一级大片| 成人综合一区| 午夜在线精品| 亚洲免费观看高清完整版在线观| 麻豆91精品91久久久的内涵| 亚洲成人精品| 日本成人在线视频网站| 日韩在线免费| 亚洲精品少妇| av综合电影网站| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | 日韩在线a电影| 久久精品国产99| 日韩天堂在线| 美女尤物国产一区| 日韩一区电影| 国产成人精选| 国产精品久久久久久妇女 | 中文字幕日韩亚洲| 国产精品久久久久久久久久10秀| 日本午夜精品| 久久精品国产999大香线蕉| 精品福利久久久| 99成人超碰| 视频精品一区二区| 日本欧美不卡| 99久久视频| 亚洲小说春色综合另类电影| 欧美中文一区| av高清不卡| 国产色综合网| 精品亚洲成人| av一区二区高清| 欧美国产免费|