mysql>show variables like '%auto_increment%'
+--------------------------+-------+
| Variable_name| Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset| 1 |
+--------------------------+-------+
2 rows in set (0.00 sec)
mysql>
其中auto_increment_offset表示起始值(且必须由1开始),参数表示auto_increment_increment表示步长增长值(只能是正整数)。
建表示例:
create table t111
(id int auto_increment primary key,
remark varchar(50)
)
由上面所说可知,你的需求在mysql下单用auto_crement是实现不了的。建议你考虑别的办法吧,或由一些变通的方式实现。
比如说你创建了一个表userinfoscreate table userinfos(
userid int primary key,
username varchar(20)
)
//给userinfos添加序列
update userinfos set userid = last_insert_id(userid+1)
//然后查询序列
select last_insert_id()
或者也可以这样
create table userinfos(
userid int primary key not null auto_increment,
username varchar(20)
)
mysql是没有序列的,我最近刚做完一个项目也是从oralce移植到mysql数据库上,oracle中 HIbernate配置都是这样<generator class="sequence">
<param name="sequence">SEQUENCE_CHILDREM_ARCHIVE_ID</param>
</generator>
,到移植到mysql数据库中之后
<generator class="identity"></generator>
identity或者是increment都是可以滴,前提是你mysql表中的主键是auto_increatement的int类型的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)