在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  PHP  Python  C#  數(shù)據(jù)庫/ mysql字段defalut ''的區(qū)別

mysql字段defalut ''的區(qū)別

以下語句中,有什么區(qū)別么?老大說有,不是特別的清楚

`record_name` varchar(50) DEFAULT '' COMMENT '記錄名'
`record_name` varchar(50) NOT NULL DEFAULT '' COMMENT '記錄名'
回答
編輯回答
女流氓

1、可以從下圖中看到,如果是null的話,每一條記錄開始時(shí)都會在最前面有額外的字節(jié)標(biāo)識,如第12列是null,就需要用額外的兩字節(jié) 0800來標(biāo)識

圖片描述

圖片描述

圖片描述

2、同時(shí)如果索引中有null會導(dǎo)致索引不生效
3、做比較是 可能會出現(xiàn) null == 0的不正確結(jié)果

2017年7月7日 15:14
編輯回答
你的瞳

一樓正解,之前有個(gè)同事搞測試環(huán)境上題主中的第一種方式,到了正式環(huán)境是第二種方式,測試時(shí)沒有發(fā)現(xiàn)問題,到了正式環(huán)境就報(bào)錯(cuò)了,提示字段類型錯(cuò)誤,就是因?yàn)檎江h(huán)境里insert語句有null設(shè)置

2018年9月8日 04:24
編輯回答
神曲

第一個(gè)可以置為null,第二個(gè)不可以。。。

2017年11月8日 12:25
編輯回答
夢一場

設(shè)置了default關(guān)鍵字過后,not null感覺有沒有都沒太大的區(qū)別

2017年3月1日 16:00
編輯回答
別傷我

除了一樓說的寫入的區(qū)別之外,還有兩點(diǎn)區(qū)別:

  1. MySQLNULL是需要占空間的;
  2. 在索引中沒有辦法存儲NULL;

因此,這也就是為什么我們經(jīng)??吹?code>NOT NULL DEFAULT ''的原因所在。

2017年5月3日 20:54