基本命令格式:
ALTER TABLE tbl_name MODIFY col_name column_definition
其中column_definition字段需要包括以下内容:
1、该列的数据类型及AUTO_INCREMENT字段;
2、如该列必须为NOT NULL及PRIMARY KEY(UNIQUE)属性。如果不是,需添加相应定义。
下面来看具体的例子吧。
假设存在数据表:test,结构如下:
复制代码 代码示例:
mysql> desc test;
+----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | |
| username | varchar(15) | NO | | NULL | |
+----------+------------------+------+-----+---------+----------------+
首先,为主键列id添加AUTO_INCREMENT属性:
alter table test MODIFY id INT UNSIGNED AUTO_INCREMENT;
执行成功后,查看表test的结构,已经有auto_increment属性:
复制代码 代码示例:
mysql> desc test;
+----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(15) | NO | | NULL | |
+----------+------------------+------+-----+---------+----------------+
以前,总以为自增属性需要在创建的时候加上,之后就不能随意修改了,现在看来我错了。
mysql字段的自增属性,可以灵活调整哦,呵呵。