MySQL創(chuàng)建表時字符串的默認值問題
mysql創(chuàng)建表時字符串的默認值
使用MySQL創(chuàng)建表時,char或varchar類型的變量可以設(shè)置默認值null或Empty String。
操作
創(chuàng)建如下DDL格式的一張表:
執(zhí)行以下insert語句,觀察char和varchar類型的默認值:
insert into t_table(iddddd) values(11);
產(chǎn)生如下表數(shù)據(jù):
心得
第一,null和Empty String是兩種不同的數(shù)據(jù),字段id3和id6中存放的是”“空字符串。
第二,如果手動在Navicat里面改變了id、id2、id4、id5中的值,那么盡管刪除所做的改變,字段的值不會恢復到之前的null,而是變成了Empty String “”。比如先將字段id的值變成aaa,后來又刪除,此時字段id的值為Empty String “”。
當然使用以下update語句可以恢復到id=null
update t_table set id=null where iddddd=11;
第三,在對非空進行查詢的時候,最好對null和Empty String “”都做判斷。
例如對于Hibernate的QBC查詢可以加上兩個限制條件:
Restrictions.isNotNull("propertyName") // 判斷不為null Restrictions.ne("propertyName") // 判斷不為""
在mysql創(chuàng)建后在往表中添加默認值
經(jīng)常在mysql創(chuàng)建,根據(jù)項目需求加上默認值,我在這里個自己記下
LTER TABLE 【表名】CHANGE COLUMN 【字段名】【字段名】【類型】 DEFAULT 【默認值(是varchar類型要加'')】;
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何查本地mysql的username和密碼及更新密碼幾種方式
這篇文章主要介紹了光宇如何查找本地MySQL數(shù)據(jù)庫的用戶名和密碼,包括查看當前用戶、列出所有用戶、重置密碼以及檢查配置文件,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-11-11解決Windows環(huán)境下安裝 mysql-8.0.11-winx64 遇到的問題
這篇文章主要介紹了Windows環(huán)境下安裝 mysql-8.0.11-winx64 遇到的問題及解決辦法 ,需要的朋友可以參考下2018-10-10MySQL按月自動設(shè)置表分區(qū)的實現(xiàn)
本文主要介紹了MySQL按月自動設(shè)置表分區(qū)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-03-03mysql執(zhí)行sql文件報錯Error: Unknown storage engine‘InnoDB’的解決方法
最近在執(zhí)行一個innoDB類型sql文件的時候,發(fā)現(xiàn)系統(tǒng)報錯了,通過查找相關(guān)的資料終于解決了,所以下面這篇文章主要給大家介紹了關(guān)于mysql執(zhí)行sql文件時報錯Error: Unknown storage engine 'InnoDB'的解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07