Mysql与Oracle不同的是,它不支持原生态的sequence,需要用表和函数的组合来实现类似序列的功能。
问题分析:序列=自增ID,是数据库根据数据插入先后顺序自动生成的。
查询方式:
只能再查询自增ID即可
具体 *** 作:MYSQL获取自增ID的四种方法
select max(id) from tablename
SELECT LAST_INSERT_ID() 函数
LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变。
select @@IDENTITY
@@identity 是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。
SHOW TABLE STATUS
得出的结果里边对应表名记录中有个Auto_increment字段,里边有下一个自增ID的数值就是当前该表的最大自增ID.
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条)