1. 程式人生 > 其它 >MySQL中boolean型別設定(想法分享)

MySQL中boolean型別設定(想法分享)

技術標籤:Java專案實戰問題Java基礎知識總結資料庫javamysql經驗分享面試

【辰兮要努力】:hello你好我是辰兮,很高興你能來閱讀,部落格暱稱是希望自己能不斷精進,向著優秀程式設計師前行!

部落格來源於專案以及程式設計中遇到的問題總結,偶爾會有讀書分享,我會陸續更新Java前端、後臺、資料庫、專案案例等相關知識點總結,感謝你的閱讀和關注,希望我的部落格能幫助到更多的人,分享獲取新知,大家一起進步!

吾等採石之人,應懷大教堂之心,願你們奔赴在各自的熱愛中…

本篇文章小結一下關於資料庫設計關於欄位設計的想法

前端常常可以看見一個按鈕啟用,不啟用,如果這個屬性就兩個情況的話,通常欄位就是0,1等設計

在這裡插入圖片描述

在日常資料庫建表中常有:啟用或者不啟用這樣的欄位

關於資料庫這個欄位的型別通常有幾種設計方式,比如int,char,tinyint都行,根據實際情況定奪


你一定思考過資料庫中的ture 或者false對應的型別代表什麼吧?

boolean在MySQL裡的型別為tinyint(1)

MYSQL儲存BOOLEAN值時用1代表TRUE,0代表FALSE,

在這裡插入圖片描述

java後端取出資料的時候才會自動轉化成true(資料庫中的1)和false(資料庫中的0)

mysql資料庫的布林型對應的資料型別為tinyint,存入的資料,0代表false,1代表true

如上述啟用,不啟用的情況我們可以用這個型別設計對應欄位


拓展一下相關簡單知識點

關於前端接到true 或者false想顯示0,1的問題,主要針對你的選擇按鈕是0,1

如果是Boolean值,truefalse將分別轉換為10。
比如接到的是status

let a =Number(status)

同樣如果後臺傳來0或者1,想在前端顯示ture或者false的情況使用Boolean即可

//這裡你使用Boolean型別的值轉換一下即可
  console.log(Boolean(0));//=>false

當然在如果型別情況比較多的時候你可以換成其它的對應欄位

應用場景,如帖子的釋出狀態1.釋出 2.已刪除 3.待發布等
在這裡插入圖片描述

拓展想法:關於刪除這裡設計,最初學習mysql的時候學到的刪除都是物理刪除真的刪除了,但是實際場景中大多都是邏輯刪除;

比如你設計一個欄位代表是否刪除,0代表不刪除,1代表刪除,那麼即使操作失誤了,我們也可以從資料庫中還原;

正如我上面做帖子相關的開發,管理員可以拉黑使用者的帖子也可以解除拉黑,這裡我們查詢出帖子列表的條件就是where status = 1 ,如果是選擇後臺拉黑使用者帖子,將這個帖子狀態設定為3即可實現帖子拉黑(邏輯刪除),前端帖子列表也看不到這個帖子了。


The best investment is to invest in yourself.

在這裡插入圖片描述

2020.12.12 晚21:50 願你們奔赴在自己的熱愛裡!