MySQL-mysql 如何不依赖任何表产生一个序列?

MySQL-mysql 如何不依赖任何表产生一个序列?

泛泛之交 发布于 2017-10-04 字数 128 浏览 1119 回复 3

想通过sql获得一个序列(可以不连续),不依赖物理表、临时表、内存表
效果如:
1
2
3
4
5
6

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

想挽留 2017-10-16 3 楼

试验成功,sql如下:

--生成 8 列举例:

set @sql = repeat(" select 1 union all",8);
set @sql = left(@sql,length(@sql)-length(" union all"));
prepare stmt from @sql;
execute stmt;

这个方法正好应用于 @mysql 生成两个日期之间的所有日期列表的sql 这个问题。

瑾兮 2017-10-14 2 楼

select uuid(); //不重复,不连续

偏爱自由 2017-10-11 1 楼

如果是linux环境,并有执行system命令的权限,可以通过执行shell命令实现:

system seq 10;

如果可以依赖表的话,可以通过下面的sql实现:

 set @i=0;
select @i:=@i+1 as i from mysql.db limit 10;