在我的表上创建一列,该列允许为空,但默认情况下设置为空(非空)?

您需要为此使用默认关键字。语法如下-

alter table yourTableName add yourColumnName yourDataType NULL Default '';

为了理解上述语法,让我们创建一个表。创建表的查询如下-

mysql> create table AllowNullDefaulNotNullDemo

   -> (

   -> Id int NOT NULL AUTO_INCREMENT,

   -> UserName varchar(20),

   -> PRIMARY KEY(Id)

   -> );

让我们添加一个新列,该列允许NULL值,但默认值设置为NOT NULL。查询如下-

mysql> alter table AllowNullDefaulNotNullDemo add UserAddress varchar(20) NULL Default'';

Records: 0 Duplicates: 0 Warnings: 0

现在使用DESC命令检查表的描述。查询如下-

mysql> desc AllowNullDefaulNotNullDemo;

以下是输出-

+-------------+-------------+------+-----+---------+----------------+

| Field       | Type        | Null | Key | Default | Extra          |

+-------------+-------------+------+-----+---------+----------------+

| Id          | int(11)     | NO   | PRI | NULL    | auto_increment |

| UserName    | varchar(20) | YES  |     | NULL    |                |

| UserAddress | varchar(20) | YES  |     |         |                |

+-------------+-------------+------+-----+---------+----------------+

3 rows in set (0.17 sec)

现在,您可以使用insert命令在表中插入一些记录。在下面的查询中,UserAddress列允许NULL值,默认设置为NOT NULL。

让我们在此列中插入记录。查询如下-

mysql> insert into AllowNullDefaulNotNullDemo(UserAddress) values('US');

mysql> insert into AllowNullDefaulNotNullDemo(UserAddress) values(NULL);

mysql> insert into AllowNullDefaulNotNullDemo() values();

检查新添加的列(即UserAddress)的特定记录。查询如下-

mysql> select UserAddress from AllowNullDefaulNotNullDemo;

以下是输出-

+-------------+

| UserAddress |

+-------------+

| US          |

| NULL        |

|             |

+-------------+

3 rows in set (0.00 sec)

以上是 在我的表上创建一列,该列允许为空,但默认情况下设置为空(非空)? 的全部内容, 来源链接: utcz.com/z/354247.html

回到顶部