MySQL 数据库生成自动增长序号
2017-08-17 09:35
519 查看
Oracle 数据库中有 ROWNUM 这个功能,查询 list 后生成序号,很是方便,但 MySQL 是模拟了 Oracle 和 SQL Server 中的大部分功能,可自动生成序号却没有现成的函数或伪序列,很多情况下最后只能在后端代码或者前端代码中实现了。
要想在 MySQL 中直接用 SQL 查出自动增加的序号,方法倒是有,参见方法二,不像其它数据库,用一个序列或者函数就搞定了!
方法一:在程序中实现。
可以在代码中实现,如 Java、C、PHP、ASP、JS,无非也就是定义一个变量,循环整个 List,让变量递增即可。比如在页面上模拟序号显示,代码如下:
方法二:使用 MySQL 变量。
注意:@rownum 变量是 connection 级的,再次查询的时候需要初始化,否则序号每查询一次,会在前一次的基础上递增,所以需要 set @rownum=0。
要想在 MySQL 中直接用 SQL 查出自动增加的序号,方法倒是有,参见方法二,不像其它数据库,用一个序列或者函数就搞定了!
方法一:在程序中实现。
可以在代码中实现,如 Java、C、PHP、ASP、JS,无非也就是定义一个变量,循环整个 List,让变量递增即可。比如在页面上模拟序号显示,代码如下:
<s:iterator value="#request.list" var="v" status="status"> <tr> <td align="center"> ${status.index+1 } </td> </tr> </s:iterator>
方法二:使用 MySQL 变量。
注意:@rownum 变量是 connection 级的,再次查询的时候需要初始化,否则序号每查询一次,会在前一次的基础上递增,所以需要 set @rownum=0。
SELECT @rownum:=@rownum+1 AS rownum, info.* FROM (SELECT @rownum:=0) r, (SELECT * FROM 表) info
相关文章推荐
- MyBatis 3 自动生成 主键 针对不同的数据库(oracle/sqlserver/mysql)
- 利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
- Asp.net MVC + MySQl + EF Code First 不能自动生成数据库
- 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
- mysql根据数据库自动生成实体(dto,service,impl,mybatis,xml)
- 利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
- 使用vbscript生成36进制自动增长序号的实现代码
- 利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
- 如何让从数据库中查询出符合条件的记录,然后给每个记录自动加上序号,序号是根据符合条件的记录多少在随时变化.而且也会在以查询生成的报表中显示出来.谢谢
- 利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
- 【mysql】iBator 数据库操作(自动生成文件)
- MyBatis 3 自动生成 主键 针对不同的数据库(oracle/sqlserver/mysql)
- 利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
- MySQL rownumber SQL生成自增长序号使用介绍
- 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
- MyBatis 3 自动生成 主键 针对不同的数据库(oracle/sqlserver/mysql)
- 利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档
- tigercode是一款自动代码生产工具,支持springmvc+spring+mybatis或springmvc+spring+hibernate框架生成,数据库支持mysql ,oracle
- MyBatis 3 自动生成 主键 针对不同的数据库(oracle/sqlserver/mysql)
- struts2 标签生成jsp自动增长序号