MySQL序列解决方案

来源:互联网 发布:sql select as 别名 编辑:程序博客网 时间:2024/05/22 11:53

MySQL自增长与Oracle序列的区别:
自增长只能用于表中的其中一个字段
自增长只能被分配给固定表的固定的某一字段,不能被多个表共用.
自增长会把一个未指定或NULL值的字段自动填上.

在mysql中添加序列,请看下面的实例:
在MYSQL里有这样一张表:

在ORACLE是这样的:

在oracle下为表添加一个触发器,就可以实现mysql自增长功能:

这样,插件记录就可以成为MYSQL风格:

下面我们来看看如何在mysql数据里使用Oracle序列语法.NEXTVAL 和 .CURVAL.
我们假设在mysql中序列的语法是:

NEXTVAL(’sequence’);
CURRVAL(’sequence’);
SETVAL(’sequence’,value);

下面就是CURRRVAL的实现方案:

测试一下结果:

nextval

 

setval