MySQL的boolean類型實際上是在tinyint(1)數據類型的基礎上進行的封裝。在MySQL中,boolean類型的值只有0和1兩種,分別表示false和true。在創建數據表時,我們可以將boolean類型的字段設置默認值,這樣在插入新的記錄時,如果沒有指定該字段的值,就會自動采用默認值。
CREATE TABLE `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `is_active` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
上面的代碼片段創建了一個名為users的數據表,包含了三個字段:id,name和is_active。其中,is_active是一個boolean類型的字段,并且設置了默認值為0,表示用戶默認為未激活狀態。
如果我們想在插入一條新的記錄時指定is_active的值,可以這樣操作:
INSERT INTO `users` (`name`, `is_active`) VALUES ('Alice', 1);
如果插入的記錄沒有指定is_active的值,就會采用默認值0:
INSERT INTO `users` (`name`) VALUES ('Bob');
上面的代碼片段插入了一條name為Bob的記錄,is_active字段采用了默認值0。
在查詢數據時,我們可以使用條件語句來過濾is_active字段:
SELECT * FROM `users` WHERE `is_active`=1;
上面的代碼片段查詢所有is_active為true的用戶記錄。
通過在創建數據表時設置boolean類型字段的默認值,可以方便地處理一些常見的場景,例如用戶的狀態、開關狀態等。
上一篇mysql bob