你這樣設(shè)置之后,是不能插入的空(NULL),而是能插入空串('')。
創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計制作的公司,為廣大用戶提供了網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計,廣告投放平臺,成都做網(wǎng)站選創(chuàng)新互聯(lián)建站,貼合企業(yè)需求,高性價比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。
如果不讓插入空串,應(yīng)該使用check,例如:
CREATE TABLE table2 (
title varchar(50) NOT NULL,
message varchar(200) NOT NULL DEFAULT '內(nèi)容',
msname varchar(50) NOT NULL DEFAULT '發(fā)布人',
date date NOT NULL,
PRIMARY KEY (`title`) ,
CHECK (title!='')
) ;
不知道你為啥要這么問,沒有數(shù)據(jù)當(dāng)然可以這么設(shè)置了,如果有數(shù)據(jù)且設(shè)置列為空時,你設(shè)置非常,會提示設(shè)置不了,但沒有數(shù)據(jù)的情況下,肯定是可以這么設(shè)置的。
空值是一種特殊的狀態(tài), 表示某一個字段"沒有被處理過"
幾乎在所有的數(shù)據(jù)庫中甚至是編程語言中, 空與非空都有其存在的意義, 舉個例子, 一個人員表中, 有一個年齡字段, 這個年齡字段如果為非 空, 則在不知道人員年齡的情況下, 數(shù)據(jù)無法入庫, 否則會顯示個奇怪的年齡(比如0歲, 或者-1歲等)
而有些情況澤不可以為空, 最常見的就是"主鍵", 比如身份證號之類的