添加默认情况下在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

回到顶部