将 MySQL 列改为 AUTO_INCREMENT?

mysqlmysqli database

假设我们有一个表,现在需要在列名上添加 AUTO_INCREMENT。为此,请使用 MODIFY 命令。

在这里,我们将首先创建一个演示表。

mysql>  create table AddingAutoIncrement
   -> (
   -> Id int,
   -> Name varchar(200),
   -> Primary key(Id)
   -> );
Query OK, 0 rows affected (0.47 sec)

我们上面创建了一个表,现在让我们修改该表以在列名"Id"上添加 AUTO_INCREMENT。语法如下 −

alter table yourTableNamet modify yourColumnName int AUTO_INCREMENT;

应用上述语法添加 AUTO_INCREMENT。查询如下。

mysql>  ALTER table AddingAutoIncrement modify Id int AUTO_INCREMENT;
Query OK, 0 rows affected (1.19 sec)
Records: 0  Duplicates: 0  Warnings: 0

上面,我们在列名"Id"上添加了"AUTO_INCREMENT"。让我们借助 DESC 命令检查一下。查询如下 −

mysql> desc AddingAutoIncrement;

示例输出。

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| Id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| Name  | varchar(200) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

查看上面的输出和列名'Extra'。在列名'Extra'中,有一个关键字auto_increment。这本身就说明我们已成功添加关键字。

现在,我要插入记录并检查该行是否增加一。查询如下。 −

mysql> insert into AddingAutoIncrement(Name) values('John');
Query OK, 1 row affected (0.20 sec)

mysql>  insert into AddingAutoIncrement(Name) values('Smith');
Query OK, 1 row affected (0.12 sec)

mysql>  insert into AddingAutoIncrement(Name) values('Bob');
Query OK, 1 row affected (0.10 sec)

借助 SELECT 语句显示所有记录。

mysql> select *from AddingAutoIncrement;

以下是输出。

+----+-------+
| Id | Name  |
+----+-------+
|  1 | John  |
|  2 | Smith |
|  3 | Bob   |
+----+-------+
3 rows in set (0.00 sec)

正如您在上面的输出中看到的,行增加了 1。


相关文章