如何在 MySQL 中修改列預設值?


讓我們首先建立一個表 −

mysql> create table DemoTable
(
   UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   UserName varchar(20) DEFAULT 'John'
);
Query OK, 0 rows affected (0.76 sec)

讓我們檢查表的描述 −

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();
Query OK, 1 row affected (0.17 sec)

以下是使用 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';
Query OK, 0 rows affected (0.19 sec)
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)

現在使用插入命令在表中插入一些記錄。由於我們尚未新增名稱,因此會新增預設的 “Chris” −

mysql> insert into DemoTable values();
Query OK, 1 row affected (0.11 sec)

以下是使用 select 語句顯示錶中所有記錄的查詢 −

mysql> select *from DemoTable;

這將生成以下輸出 −

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

更新於: 30-Jul-2019

2K+ 瀏覽量

開啟您的 職業

完成課程獲得認證

開始
廣告