text字段不可以有默認(rèn)值。
專業(yè)從事成都做網(wǎng)站、網(wǎng)站建設(shè),高端網(wǎng)站制作設(shè)計,微信小程序,網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊竭力真誠服務(wù),采用H5技術(shù)+CSS3前端渲染技術(shù),響應(yīng)式網(wǎng)站,讓網(wǎng)站在手機、平板、PC、微信下都能呈現(xiàn)。建站過程建立專項小組,與您實時在線互動,隨時提供解決方案,暢聊想法和感受。
mysql text類型沒有默認(rèn)值,如果該字段沒有值,則該字段是空,即is null 。
使用select語句時應(yīng)注意:(test是表名,description是字段名,類型是text) 。
select * from test where description = null; 等價為 select * from test where description = 'null'。
即此時description 值是null才可以取出。
如果description字段沒有填入值,是系統(tǒng)設(shè)置的,則執(zhí)行 select * from test where description is null,即可。
一個字段如果設(shè)置了默認(rèn)值,那么這個默認(rèn)值要符合該字段的類型,比如字段是整數(shù),不可以輸入字符串當(dāng)作默認(rèn)值。否則,就會無效哦。
一個字段如果有默認(rèn)值,那么插入1條數(shù)據(jù)時,如果這條數(shù)據(jù)的該字段沒有值,就會使用默認(rèn)值插入到數(shù)據(jù)庫。
--SQL:
CREATE TABLE test(
i_a int NOT NULL DEFAULT 1,
ts_b timestamp NOT NULL DEFAULT NOW(),
c_c char(2) NOT NULL DEFAULT '1'
);
--以下SQL不合法
--time_d time NOT NULL DEFAULT CURTIME(),
--date_e date NOT NULL DEFAULT CURDATE(),
--datetime_f datetime NOT NULL DEFAULT NOW(),
總結(jié)
int類型:默認(rèn)值也得是整型,并且default后邊不要()括號。
char類型:默認(rèn)值使用單引號。
DATETIME類型:NOW()函數(shù)以'YYYY-MM-DD
HH:MM:SS'返回當(dāng)前的日期時間,可以直接存到DATETIME字段中。不支持使用系統(tǒng)默認(rèn)值。
DATE類型:CURDATE()以'YYYY-MM-DD'的格式返回今天的日期,可以直接存到DATE字段中。不支持使用系統(tǒng)默認(rèn)值。
TIME類型:CURTIME()以'HH:MM:SS'的格式返回當(dāng)前的時間,可以直接存到TIME字段中。不支持使用系統(tǒng)默認(rèn)值。
參考資料
mysql表字段默認(rèn)值
用sql語句創(chuàng)建表時,給表字段默認(rèn)值出錯。
比如:mssql中
CREATE TABLE dnt_forums(
aa int NOT NULL DEFAULT (''),
bb date NOT NULL DEFAULT (getdate()),
cc char(50) NOT NULL DEFAULT (null)
}
請問上述的sql語句要如何修改在mysql中才能使用
aa 是 int 類型,默認(rèn)值也得是整型,并且default后邊不要()括號
bb date類型不支持使用系統(tǒng)默認(rèn)值,改成timestamp,能過now()取系統(tǒng)時間
cc 已經(jīng)不允許為空(not null)所以不能默認(rèn)為 null ,可以改成空字符串
CREATE TABLE dnt_forums(
aa int NOT NULL DEFAULT 2,
bb timestamp NOT NULL DEFAULT now(),
cc char(50) NOT NULL DEFAULT ''
);
alter
table
[tablename]
drop
constraint
[標(biāo)識]
ALTER
TABLE
[tableName]
ADD
CONSTRAINT
[標(biāo)識]
DEFAULT
(25)
FOR
[columnName]
如果原字段沒有默認(rèn)值,下面一句就不用寫了:
alter
table
[tablename]
drop
constraint
[標(biāo)識]
即先給此字段添加一個默認(rèn)值
要已經(jīng)有了默認(rèn)值就寫上面的Ok
命令行界面
若本身存在默認(rèn)值,則先刪除
alter?table表名alter?column字段名drop?default;
然后設(shè)置默認(rèn)值(若本身不存在則可以直接設(shè)定)
alter?table表名?alter?column字段名?set?default默認(rèn)值;
mysql表字段默認(rèn)值的方法。
如下參考:
1.首先,創(chuàng)建一個新的表結(jié)構(gòu),如下圖所示。
2.選擇*fromt_temp_test檢查表是否已經(jīng)在數(shù)據(jù)庫中。
3.如果查看t_temp_test表結(jié)構(gòu)sp_helpt_temp_test,您可以看到字段column_b的默認(rèn)值被定義為空。
4.修改默認(rèn)值的表格,刪除可以修改表格的默認(rèn)屬性,刪除默認(rèn)屬性的表格。
5.刪除后執(zhí)行sp_helpt_temp_test,此時默認(rèn)值屬性已被刪除。
6.然后添加默認(rèn)屬性altertablet_temp_test為column_b添加約束df_temp_tes_columbb_19da45dbDEFAULT('123')。