![]() |
|
|||||||
![]() |
|
|
Thread Tools | Display Modes |
|
|
|
#1
IP: 49.87.41.166
|
|||
|
|||
|
一般来说,自增值主要是数据表主键或者具有唯一性的字段,在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。
可在建表时使用“AUTO_INCREMENT=n”来指定一个自增的初始值,比如: Code:
CREATE TABLE test ( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, username VARCHAR(15) NOT NULL )AUTO_INCREMENT = 100; 当我们需要修改自增起始值时,可用 alter table table_name AUTO_INCREMENT=n 命令来重设。 比如表 test 的ID最大值为150,但是因为某种原因导致自增值已经到了250,所以需要重设为151以便于下次ID从151开始往上增,语法如下: Code:
ALTER TABLE test AUTO_INCREMENT=151 (1)如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号。编号从1开始,并1为基数递增。 (2)把0插入AUTO_INCREMENT数据列的效果与插入NULL值一样。但不建议这样做,还是以插入NULL值为好。 (3)当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值。 (4)当插入记录时,如果为AUTO_INCREMENT数据列明确指定了一个数值,则会出现两种情况,情况一,如果插入的值与已有的编号重复,则会出现出错信息,因为AUTO_INCREMENT数据列的值必须是唯一的;情况二,如果插入的值大于已编号的值,则会把该值插入到数据列中,并使在下一个编号将从这个新值开始递增。也就是说,可以跳过一些编号。 (5)如果用UPDATE命令更新自增列,如果列值与已有的值重复,则会出错。如果大于已有值,则下一个编号从该值开始递增。 如要从1开始: alter table tablename auto_increment=1; Code:
ALTER TABLE ucenter_members AUTO_INCREMENT=1 |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| mysql 帮助文档使用 | Haddam | MySQL | 0 | 2014-11-26 06:43 PM |
| 如何导入导出MySQL数据库 | topvip | 建站交流 | 0 | 2006-10-10 07:43 AM |
| 使用XAMPP轻松建站(Linux版) | smiling | 服务器环境搭建 | 0 | 2006-05-13 04:01 AM |
| mysql安装与简单使用 | sunshine | 服务器环境搭建 | 0 | 2006-01-11 07:29 PM |
| winxp下安装全新的apache,php(5.0),mysql(5.0)... | topvip | 服务器环境搭建 | 0 | 2006-01-08 10:28 PM |