MySQL ALTER 列删除主键和自动增量?
mysqlmysqli database
您可以使用 ALTER 命令删除主键和自动增量。语法如下−
ALTER TABLE yourTableName DROP PRIMARY KEY,change yourColumnName yourColumnName data type;
为了理解上述语法,让我们创建一个表。创建表的查询如下 −
mysql> create table removePrimaryKey -> ( -> StudentId int NOT NULL AUTO_INCREMENT, -> StudentFirstName varchar(20), -> StudentLastName varchar(20), -> PRIMARY KEY(StudentId) -> ); Query OK, 0 rows affected (0.47 sec)
使用 DESC 命令检查表的描述。语法如下 −
desc yourTableName;
使用 DESC 检查表 ‘removePrimaryKey’ 的描述。查询如下 −
mysql> desc removePrimaryKey;
以下是输出 −
+------------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+-------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentFirstName | varchar(20) | YES | | NULL | | | StudentLastName | varchar(20) | YES | | NULL | | +------------------+-------------+------+-----+---------+----------------+ 3 rows in set (0.01 sec)
现在查看上面的 Key 和 Extra 列。Key 列中有 PRI,Extra 列中有 auto_increment。您需要使用开头讨论的 ALTER DROP 命令删除它们 −
查询如下 −
mysql> alter table removePrimaryKey DROP PRIMARY KEY,change StudentId StudentId int; Query OK, 0 rows impacted (1.79 sec) Records − 0 Duplicates − 0 Warnings − 0
我们已经成功删除了上面的主键和自动增量。现在您可以使用以下查询检查主键和自动增量是否已从表中删除 −
mysql> desc removePrimaryKey;
以下是输出 −
+------------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------+-------------+------+-----+---------+-------+ | StudentId | int(11) | YES | | NULL | | | StudentFirstName | varchar(20) | YES | | NULL | | | StudentLastName | varchar(20) | YES | | NULL | | +------------------+-------------+------+-----+---------+-------+ 3 rows in set (0.07 sec)