MySQL中给表添加一个自动增长字段(auto_increment)


关键词

MySQL 表 添加字段 auto_increment

摘要

本文介绍MySQL数据库使用SQL语句来在现有的表中,添加一个自动增长(auto_increment)字段。

本文介绍MySQL数据库使用SQL语句来在现有的表中,添加一个自动增长(auto_increment)字段。

所谓自动增长字段,是指一个表中的这样一类字段:它们的值是系统指定,不需要插入、也不能插入,并且还不能修改的字段。值可能从1开始,每增加一条记录,这个值就加1。很显示这样的字段非常适合来做表的索引ID。

下面,我们直接在现有的test表中,添加一个xx_id的字段,数据类型为int,指定为auto_increment。

mysql> alter table test add column xx_id int auto_increment;
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

居然失败了!错误指示说:一个表中,最多只能有一个自动字段,并且这个自动字段还必须被定义为key。我想这里的自动字段就是指自动增长字段(auto_increment),而这里说的key,很有可能是primary key,即主键。

那我们就创建一个新表,然后,给它添加一个自动增长字段吧。

mysql> create table test2(name varchar(20) not null);
Query OK, 0 rows affected (0.09 sec)

创建表成功了。

mysql> alter table test2 add column id int auto_increment not null;
ERROR 1075 (42000): Incorrect table definition; there can be only one auto colum
n and it must be defined as a key

又失败了,应该是没有把这个id指定成key吧,改一下再来:

mysql> alter table test2 add column id int auto_increment not null, add primary key(id);
Query OK, 0 rows affected (0.23 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> describe test2;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| name  | varchar(20) | NO   |     | NULL    |                |
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

好了,这下子成功的成功的添加了一个自动增长字段,字段名为id,它具有auto_increment属性,并且是primary key(主键)。

关于MySQL中给表添加一个自动增长字段(auto_increment),本文就介绍这么多,希望对大家有所帮助,谢谢!

 

文章的版权

洪哥写文章很苦逼,如果本文对您略有帮助,点击感兴趣的广告支持洪哥!万分感谢!本文属于“洪哥笔记”原创文章,转载请注明来源地址:MySQL中给表添加一个自动增长字段(auto_increment):http://www.splaybow.com/post/mysql-table-add-column-auto-increment.html

关注与收藏

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:115085382!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D


« MySQL中给表添加一个字段(字段名、是否为空、默认值) MySQL中根据生日计算年龄的SQL语句日期函数 »

相关文章:

MySQL内置随机数函数的使用  (2017/2/11 7:23:46)

MySQL表如何选择MyISAM和InnoDB引擎  (2017/1/7 7:23:00)

MySQL索引覆盖  (2017/1/4 7:06:51)

mysql中如何实现select into的效果  (2016/9/1 7:41:26)

mysql多字段分组统计  (2016/6/1 7:20:37)

mysql之alter表的SQL语句集合  (2016/4/22 11:22:34)

MySQL多表联合更新  (2015/9/12 15:49:02)

mysql的limit子句  (2015/8/10 9:27:57)

在MySQL的SQL语句中使用md5加密函数  (2015/7/3 13:39:53)

mysql的sql转义字符  (2015/5/14 8:14:31)