是否不可能在 MySQL 中特別在另一列之前新增一列?


不,你可以使用 ALTER 很方便地在另一列之前新增一列。

注意 − 若要將列新增到錶行內的特定位置,請使用 FIRST 或 AFTER col_name 讓我們先建立一個表 −

mysql> create table DemoTable
   -> (
   -> Id int,
   -> Name varchar(20),
   -> CountryName varchar(100)
   -> );
Query OK, 0 rows affected (0.67 sec)

讓我們查看錶中的所有列名 −

mysql> show columns from DemoTable;

輸出

這將產生以下輸出 −

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | YES  |     | NULL    |       |
| Name        | varchar(20)  | YES  |     | NULL    |       |
| CountryName | varchar(100) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

以下是 MySQL 中在另一列之前新增一列的查詢。

mysql> alter table DemoTable add Age int AFTER Name;
Query OK, 0 rows affected (1.50 sec)
Records: 0 Duplicates: 0 Warnings: 0

讓我們再次檢視上述表中的所有列名 −

mysql> show columns from DemoTable;

輸出

這將產生以下輸出。我們已成功添加了一個列名 −

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | YES  |     | NULL    |       |
| Name        | varchar(20)  | YES  |     | NULL    |       |
| Age         | int(11)      | YES  |     | NULL    |       |
| CountryName | varchar(100) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

更新於: 2020 年 6 月 30 日

399 次瀏覽

開啟您的 職業生涯

完成教程並獲得認證

開始學習
廣告
© . All rights reserved.