mysql序列解决方案

mysql序列解决方案

ID:15619864

大小:84.50 KB

页数:5页

时间:2018-08-04

mysql序列解决方案_第1页
mysql序列解决方案_第2页
mysql序列解决方案_第3页
mysql序列解决方案_第4页
mysql序列解决方案_第5页
资源描述:

《mysql序列解决方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MySQL自增长与Oracle序列的区别:自增长只能用于表中的其中一个字段自增长只能被分配给固定表的固定的某一字段,不能被多个表共用.自增长会把一个未指定或NULL值的字段自动填上.在mysql中添加序列,请看下面的实例:在MYSQL里有这样一张表:Java代码1.CREATETABLEMovie(  2.id           INTNOTNULLAUTO_INCREMENT,  3.name     VARCHAR(60)NOTNULL,  4.releasedYEARNOTNULL,  5.PRIMARYKEY(id)  6.)ENGI

2、NE=InnoDB;  CREATETABLEMovie(idINTNOTNULLAUTO_INCREMENT,nameVARCHAR(60)NOTNULL,releasedYEARNOTNULL,PRIMARYKEY(id))ENGINE=InnoDB;Java代码1.INSERTINTOMovie(name,released)VALUES('Gladiator',2000);  2.INSERTINTOMovie(id,name,released)VALUES(NULL,'TheBourneIdentity',1998);  INSERTI

3、NTOMovie(name,released)VALUES('Gladiator',2000);INSERTINTOMovie(id,name,released)VALUES(NULL,'TheBourneIdentity',1998);在ORACLE是这样的:Java代码1.CREATETABLEMovie(  2.id          INTNOTNULL,  3.name     VARCHAR2(60)NOTNULL,  4.releasedINTNOTNULL,  5.PRIMARYKEY(id)  6.);  7.CREATESE

4、QUENCEMovieSeq;  CREATETABLEMovie(idINTNOTNULL,nameVARCHAR2(60)NOTNULL,releasedINTNOTNULL,PRIMARYKEY(id));CREATESEQUENCEMovieSeq;Java代码1.INSERTINTOMovie(id,name,released)VALUES(MovieSeq.NEXTVAL,'Gladiator',2000);  INSERTINTOMovie(id,name,released)VALUES(MovieSeq.NEXTVAL,'Gla

5、diator',2000);在oracle下为表添加一个触发器,就可以实现mysql自增长功能:Java代码1.CREATEORREPLACETRIGGERBRI_MOVIE_TRG  2.BEFOREINSERTONMovie  3.FOREACHROW  4.BEGIN  5.  SELECTMovieSeq.NEXTVALINTO:new.idFROMDUAL;  6.ENDBRI_MOVIE_TRG;  7..  8.RUN;  CREATEORREPLACETRIGGERBRI_MOVIE_TRGBEFOREINSERTONMovie

6、FOREACHROWBEGINSELECTMovieSeq.NEXTVALINTO:new.idFROMDUAL;ENDBRI_MOVIE_TRG;.RUN;这样,插件记录就可以成为MYSQL风格:Java代码1.INSERTINTOMovie(name,released)VALUES('TheLionKing',1994);  INSERTINTOMovie(name,released)VALUES('TheLionKing',1994);下面我们来看看如何在mysql数据里使用Oracle序列语法.NEXTVAL和.CURVAL.我们假设在

7、mysql中序列的语法是:NEXTVAL(’sequence’);CURRVAL(’sequence’);SETVAL(’sequence’,value);下面就是CURRRVAL的实现方案:Java代码1.DROPTABLEIFEXISTSsequence;  2.CREATETABLEsequence(  3.name              VARCHAR(50)NOTNULL,  4.current_valueINTNOTNULL,  5.increment       INTNOTNULLDEFAULT1,  6.PRIMARYKE

8、Y(name)  7.)ENGINE=InnoDB;  8.INSERTINTOsequenceVALUES('MovieSeq',3,5);  9.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。