如何在MySQL中修改列默认值?

让我们首先创建一个表-

mysql> create table DemoTable
(
   UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   UserName varchar(20) DEFAULT 'John'
);

让我们检查表的描述-

mysql> desc DemoTable;

这将产生以下输出-

+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| UserId   | int(11)     | NO   | PRI | NULL    | auto_increment |
| UserName | varchar(20) | YES  |     | John    |                |
+----------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable values();

以下是使用select语句显示表中所有记录的查询-

mysql> select *from DemoTable;

这将产生以下输出-

+--------+----------+
| UserId | UserName |
+--------+----------+
| 1      | John     |
+--------+----------+
1 row in set (0.00 sec)

这是修改列默认值的查询。我们已经将默认的UserName设置为Chris-

mysql> alter table DemoTable modify UserName varchar(20) DEFAULT 'Chris';
Records: 0 Duplicates: 0 Warnings: 0

让我们使用desc命令检查表的描述-

mysql> desc DemoTable;

这将产生以下输出-

+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| UserId   | int(11)     | NO   | PRI | NULL    | auto_increment |
| UserName | varchar(20) | YES  |     | Chris   |                |
+----------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

现在,使用insert命令在表中插入一些记录。由于我们尚未添加名称,因此将添加默认的“ Chris”-

mysql> insert into DemoTable values();

以下是使用select语句显示表中所有记录的查询-

mysql> select *from DemoTable;

这将产生以下输出-

+--------+----------+
| UserId | UserName |
+--------+----------+
| 1      | John     |
| 2      | Chris    |
+--------+----------+
2 rows in set (0.00 sec)