添加默认情况下在MySQL中其值不为null的列?
为此,您需要删除默认关键字。语法如下:
ALTER TABLE yourTableName ADD COLUMN yourColumnName dataType NOT NULL AFTER yourColumnName;
为了理解上述语法,让我们创建一个表。创建表的查询如下:
mysql> create table AddingColumnDefaultValueNOTNULL-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> FirstName varchar(20),
-> LastName varchar(20),
-> Age int,
-> Address varchar(100),
-> Salary int,
-> PRIMARY KEY(Id)
-> );
现在检查表的描述。查询如下:
mysql> desc AddingColumnDefaultValueNOTNULL;
以下是输出:
+-----------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| FirstName | varchar(20) | YES | | NULL | |
| LastName | varchar(20) | YES | | NULL | |
| Age | int(11) | YES | | NULL | |
| Address | varchar(100) | YES | | NULL | |
| Salary | int(11) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
6 rows in set (0.11 sec)
这是添加默认值为NOT NULL的列的查询:
mysql> alter table AddingColumnDefaultValueNOTNULL add column City varchar(20) NOT NULL after Age;Records: 0 Duplicates: 0 Warnings: 0
现在,您可以再次检查表的描述。该表将有一个新列,其名称为'City',默认情况下其默认值为NOT NULL。
检查表说明的查询如下:
mysql> desc AddingColumnDefaultValueNOTNULL;
以下是输出:
+-----------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| FirstName | varchar(20) | YES | | NULL | |
| LastName | varchar(20) | YES | | NULL | |
| Age | int(11) | YES | | NULL | |
| City | varchar(20) | NO | | NULL | |
| Address | varchar(100) | YES | | NULL | |
| Salary | int(11) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
7 rows in set (0.02 sec)
查看“城市”字段。在NULL列中,值为NO。这本身说明我们不能将NULL值设置为City字段。
以上是 添加默认情况下在MySQL中其值不为null的列? 的全部内容, 来源链接: utcz.com/z/334923.html