在 MySQL 中,无法在另一列之前添加一列吗?

mysqlmysqli database更新于 2025/5/27 3:56:17

不,您可以使用 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 impacted (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)

相关文章


有用资源