你的這個(gè)空只能通過php程序判斷了,數(shù)據(jù)庫只能是null 和not null 如果插入空字符串是可以的,所以通過php程序判斷吧
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、蓮湖ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的蓮湖網(wǎng)站制作公司
只要你沒有設(shè)置not null, 是可以允許插入一個(gè)null得,允許且只允許一個(gè);如果你設(shè)置了not null,那肯定不可以得
建表的時(shí)候你設(shè)置一下默認(rèn)值,default null或者用update語句批量更新
create table test( name varchar(20) unique);
經(jīng)測試,可以插入多個(gè)空值,但非空唯一
空值是一個(gè)比較特殊的字段。在mysql數(shù)據(jù)庫中,在不同的情形下,空值往往代表不同的含義。這是mysql數(shù)據(jù)庫的一種特性。如在普通的字段中(字符型的數(shù)據(jù)),空值就是表示空值。但是如果將一個(gè)空值的數(shù)據(jù)插入到timestamp類型的字段中,空值就不一定為空。此時(shí)為出現(xiàn)什么情況呢
我先創(chuàng)建了一個(gè)表。在這個(gè)表中有兩個(gè)字段:user_id(其數(shù)據(jù)類型是int)、date(其數(shù)據(jù)類型是timestamp)。現(xiàn)在往這個(gè)表中插入一條記錄,其中往date字段中插入的是一個(gè)null空值??墒钱?dāng)我們查詢時(shí),其結(jié)果顯示的卻是插入記錄的當(dāng)前時(shí)間。這是怎么一回事呢?其實(shí)這就是在mysql數(shù)據(jù)庫中執(zhí)行sql語句時(shí)經(jīng)常會(huì)遇到的一個(gè)陷阱:空值不一定為空。在操作時(shí),明明插入的是一個(gè)空值的數(shù)據(jù),但是最后查詢得到的卻不是一個(gè)空值。
在mysql數(shù)據(jù)庫中,null對(duì)于一些特殊類型的列來說,其代表了一種特殊的含義,而不僅僅是一個(gè)空值。對(duì)于這些特殊類型的列,各位讀者主要是要記住兩個(gè)。一個(gè)就是筆者上面舉的timestamp數(shù)據(jù)類型。如果往這個(gè)數(shù)據(jù)類型的列中插入null值,則其代表的就是系統(tǒng)的當(dāng)前時(shí)間。另外一個(gè)是具有auto_increment屬性的列。如果往這屬性的列中插入null值的話,則系統(tǒng)會(huì)插入一個(gè)正整數(shù)序列。而如果在其他數(shù)據(jù)類型中,如字符型數(shù)據(jù)的列中插入null的數(shù)據(jù),則其插入的就是一個(gè)空值。
UPDATE tablename SET col_date = null WHERE condiction
但是col_date的字段不能設(shè)置成 not null