alter table 表名 modify 列名 not null;
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供阿拉爾網(wǎng)站建設(shè)、阿拉爾做網(wǎng)站、阿拉爾網(wǎng)站設(shè)計、阿拉爾網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、阿拉爾企業(yè)網(wǎng)站模板建站服務(wù),十多年阿拉爾做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
你在建表時使用not null即可做到限制‘’這種空串的插入了。
‘’和null雖然本質(zhì)上不一樣,但‘’讀到數(shù)據(jù)庫時是被當做null處理的。
空字符串 "" 并不是 NULL, 所以會成功.要阻止的話在程序里面阻止而不是在MySQL里. 另外, inert into hh() values() 你寫錯了, 你換成insert一樣會成功.
你這樣設(shè)置之后,是不能插入的空(NULL),而是能插入空串(\\'\\')。
如果不讓插入空串,應(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!=\\'\\')
) ;
可以這樣寫SQL:
update tableName set colName='' where colName is null;
前提是沒有約束限制向表字段寫入“空字符串”