在mysql中,可以利用“ALTER TABLE”語句從指定表的列中刪除“not null”非空限制,利用modify可以修改表中字段的數(shù)據(jù)類型和約束條件,語法為“ALTER TABLE 表名 MODIFY 字段名 INT NULL;”。
本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。
mysql怎么刪除not null限制
我們可以使用ALTER TABLE語句從現(xiàn)有表的列中刪除NOT NULL約束。
modify用于修改表中字段的數(shù)據(jù)長度,數(shù)據(jù)類型以及字段的約束條件的。
MySQL 非空約束(NOT NULL)指字段的值不能為空。對于使用了非空約束的字段,如果用戶在添加數(shù)據(jù)時(shí)沒有指定值,數(shù)據(jù)庫系統(tǒng)就會(huì)報(bào)錯(cuò)??梢酝ㄟ^ CREATE TABLE 或 ALTER TABLE 語句實(shí)現(xiàn)。在表中某個(gè)列的定義后加上關(guān)鍵字 NOT NULL 作為限定詞,來約束該列的取值不能為空。
比如,在用戶信息表中,如果不添加用戶名,那么這條用戶信息就是無效的,這時(shí)就可以為用戶名字段設(shè)置非空約束。
示例
假設(shè)我們有一個(gè)表“ test123”,對列“ ID”具有NOT NULL約束,如下所示:
mysql> DESCRIBE test123; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | ID | int(11) | NO | | NULL | | | Date | date | YES | | NULL | | +-------+---------+------+-----+---------+-------+
現(xiàn)在,如果我們要?jiǎng)h除NOT NULL約束,則可以使用ALTER TABLE語句,如下所示:
上面的結(jié)果集表明,已刪除對列“ ID”的NOT NULL約束。
在上面的查詢中,關(guān)鍵字MODIFY之后的關(guān)鍵字NULL是可選的。以下查詢還將產(chǎn)生與上述相同的結(jié)果-
mysql> ALTER TABLE test123 MODIFY ID INT; Records: 0 Duplicates: 0 Warnings: 0
推薦學(xué)習(xí):mysql視頻教程