我可以更新以 1 开头的现有序列值吗?
示例:在表一序列列中以序列形式 5001 开头,但我想更改从 1 开始的值形式。
如果有可能怎么办?
您可以使用ALTER SEQUENCE更改序列起始值。但是,将起点设置回去会导致与表中的现有值发生冲突。此外,NuoDB 不一定按顺序分发序列号。鉴于它是一个分布式数据库,序列号生成器会极大地影响性能,因为每个 TE 都需要检查某个主数据库以获取下一个序列号。NuoDB 所做的是分发 TE 使用的序列块,然后在用完时请求另一个块。如果 TE 关闭并重新启动,它将获得一个新块。
我认为您最简单的方法是删除表并重新加载。在重新加载之前指定一个主键。这将防止重复插入。