最近想把网站改为php+mysql,第一件事就是要建数据库,创建ID字段需要设置自增,这在以前access数据库字段类型有个自动编号挺方便的,但是mysql里面创建自动编号怎么操作呢?
首先确定自动编号字段是整数,在mysql里面数字字段类型有很多:tinyint、smallint、mediumint、int、bigint、decimal、float、double、real、bit、boolean、serial因为我是学习,所以什么都了解一下:tinyint、smallint、mediumint、int、bigint这五个int都是整数值从极小、小、中等、普通、大五个整数类型:
tinyint(0-255)
smallint(0-65535)
mediumint(0-16777215)
int(0-4294967295)
bigint(0,18446744073709551615)
严格来说自动编号字段使用这五个都可以,就看这个表有多少条记录而定,如果不清楚可以使用bigint,但其实int就可以有40多亿行了。
1、通过phpmyadmin创建自动编号字段
通过phpmyadmin创建表并创建自动增长字段,只需要勾选上auto_increment(A_l)复选框。
这里我创建一个ID,一个NAME试一下。
ID为自增字段,name为varchar(50)创建成功后,可以在ID字段额外处看到AUTO_INCREMENT即为自增,在下面的信息处也可以看到“下一个自增值”的字样。
接下来,我进入到这个表测试一下是否为自增字段了。
对这个表插入数据,name填写任意内容,ID不填写。提交后id就会自动增长。
而当我将中间一条数据删除后,再插入一条新的,也会自动增长了。
这个自动增长字段应该是正常了。而通过phpmyadmin在表的结构中也能够清楚看到下一个自增值的值。
2、通过sql语句创建自动编号字段
通过sql语句创建自增字段,在上面通过phpmyadmin创建后,都会显示一条SQL语句,如:
CREATE TABLE `table1` ( `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(60) NOT NULL, PRIMARY KEY (`id`) ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
通过上面的SQL同样可以创建一个表,id为自增字段。
另外,通过mysql数据库管理工具来创建自增字段就更为方便了,如:
使用Mysql-front创建表格,默认就会创建一个名为ID的自动增量字段。创建自动增量字段更为方便了。
总结:从上面可以看出mysql数据库里面就是AUTO_INCREMENT这个来设置自增字段。对于我这个新手的话,还是觉得使用数据库工具比较方便。