`
Roader123
  • 浏览: 94224 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何解决主键的连续自增

 
阅读更多
解决方案是采用文件暂存的方式。
从1开始到99后重新归一循环。
	public int getSeqNo() throws IOException {
		int seqNo = 1;
		File file = new File("seqNo");
		if (!file.exists()) {
			file.createNewFile();
		} else {
			Scanner in = new Scanner(new FileReader(file));
			if (in.hasNextInt()) {
				seqNo = in.nextInt();
				if (seqNo < 99) {
					seqNo++;
				} else if (seqNo == 99) {
					seqNo = 1;
				}
			}
			in.close();
		}

		PrintWriter out = new PrintWriter("seqNo");
		out.print(seqNo);
		out.close();
		return seqNo;
	}
分享到:
评论

相关推荐

    解决spring自增型主键问题

    本文将深入探讨如何在SQL Server 2008环境下解决自增型主键的问题,以及如何在Spring框架下进行有效的主键生成策略配置。 ### SQL Server 2008自增型主键问题 SQL Server 2008中的自增型主键,通常通过设置列属性...

    MySQL8新特性:自增主键的持久化详解

    此特性对于那些依赖自增主键连续性的场景尤为重要。例如,如果业务将自增主键用作业务主键,并且有唯一性要求,那么主键值的重复可能会导致严重的数据一致性问题。此外,当数据需要被归档到另一个表时,如果没有持久...

    自增字段的SQL语句解决方案

    ### 自增字段的SQL语句解决方案 在数据库设计与管理中,自增字段是一个非常实用的功能,它能够自动为每一条新记录分配一个唯一的、连续的整数值。这对于需要唯一标识符(例如主键)的场景特别有用。本文将详细介绍...

    Python+MongoDB自增键值的简单实现

    由于MongoDB自身不支持自增字段,作者通过搜索并未找到现成的解决方案,因此决定自行设计一个方案。 解决这个问题的关键在于利用MongoDB的更新操作中的`$inc`运算符。`$inc`允许我们对文档中的某个数值字段进行递增...

    全局自增ID设计方案

    1. **数据库表设计**:首先创建一个名为`Tickets64`的表,包含两个字段:`id`作为自增主键,`stub`为一个标记字段,默认值为`a`。 ```sql CREATE TABLE Tickets64 ( id BIGINT(20) UNSIGNED NOT NULL AUTO_...

    MySQL分表自增ID问题的解决方法

    一种解决办法是通过创建一个专门的表来生成ID,如创建一个名为`create_id`的表,其中包含一个自增主键`id`。当需要新的ID时,执行插入操作并获取最后插入的ID。在PHP中,可以通过类似以下的函数实现: ```php ...

    Decimal功能测试报告1

    8. 主键和自增功能的支持:Decimal支持主键和自增功能,能够确保数据的唯一性和连续性。 9. 二级索引的支持:Decimal支持二级索引,能够提高查询效率。 10. Join的支持:Decimal支持多种Join操作,包括inner join、...

    关于Mysql自增id的这些你可能还不知道

    - 一旦接近或达到自增ID的上限,可以考虑以下解决方案: - 改变自增ID的类型为`BIGINT`,提供更大的范围。 - 如果业务允许,可以重置自增ID(`ALTER TABLE ... AUTO_INCREMENT = 1`),但这会丢失原有的连续性。 ...

    mysql如何让自增id归0解决方案

    在MySQL数据库中,自增ID(Auto Increment)是用于创建唯一标识符的一种机制,通常在主键列上使用。当数据表中的记录被插入时,自增ID会自动递增,确保每条新记录都有一个唯一的标识。然而,在某些情况下,如数据...

    mysql 双向同步的键值冲突问题的解决方法

    这个方法可以扩展到更多的服务器,只要每个服务器的`auto_increment_increment`相同,且`auto_increment_offset`根据服务器数量设置为连续的整数即可。 例如,如果有3台服务器C、D和E,可以这样配置: - C: `auto_...

    MYSQL分页limit速度太慢的优化方法

    如果主键是自增的整数,如`uid`,可以使用大于等于主键的查询,如`SELECT * FROM users WHERE uid &gt; 456891 ORDER BY uid LIMIT 0, 10;`。这种方式避免了大`OFFSET`,提高了效率。 5. **复合索引**: 对于`ORDER ...

    MYSQL双向热备实战

    - 主键冲突:确保主键是自增的,并且在所有服务器上设置相同的初始值。 - 涉及函数的部署:启用`log_bin_trust_function_creators`以允许复制包含自定义函数的事务。 - 其他问题可能包括网络延迟、权限问题、数据...

    用一句SQL解决SQL中断号问题 推荐

    在SQL数据库管理中,断号问题通常出现在具有序列编号或连续值的字段上,比如主键或自增列。当这些记录被删除后,原本连续的编号会出现空缺,形成所谓的“断号”。例如,一个合同编号序列,如果删除了其中的某个编号...

    WXG二面1

    ` 代表前置自增操作符,返回一个左值引用,即返回自增后的对象,这样可以连续进行自增操作,如 `a++; a++;`。 - `CInt operator ++(int);` 代表后置自增操作符,返回一个临时对象,保存自增前的状态,因为后置自增...

    数据库常见问题常见操作

    - **描述**:在 MySQL 中,当使用了 AUTO_INCREMENT 属性创建了一个自增列后,可能因为各种原因(如数据删除等)导致自增编号不连续。此时,可以使用 ALTER TABLE 语句来重置 AUTO_INCREMENT 的起始值。 - **示例...

    分布式系统ID生成器解决方案.docx

    5. **有序性**:生成的ID整体按时间自增排序,但在单个节点内可能存在不连续的情况。 6. **依赖时钟**:如果时钟回拨,可能导致ID重复,需要避免这种情况。 Snowflake的改进方案主要集中在处理时钟回拨问题,以确保...

    分布式ID生成器的解决方案总结.docx

    数据库的自动递增主键是一种简单方法,但过度依赖数据库,不适合分布式环境。分库分表或数据迁移会导致问题。 4. 批量生成ID 一次性生成多个ID,减少数据库访问次数,但可能导致ID不连续,且不便于水平扩展。 5....

    mysql&mycat;文档.zip

    “Mycat主键自增字段开启.docx”可能详细介绍了在分布式环境中如何处理主键自增的问题,这在保证数据唯一性的同时,也要确保在不同分片间的连续性和一致性。 “Mycat最权威DBCP使用手册.docx”可能涵盖了 MyCat ...

Global site tag (gtag.js) - Google Analytics