首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中保存自动递增

问在MySQL中保存自动递增
EN

Stack Overflow用户
提问于 2010-02-08 16:08:46
回答 1查看 797关注 0票数 1

我正在尝试在两个表之间同步:我有活动的表,其中有auto_increment,我有具有相同值的存档表。我希望两个ID都是唯一的(表之间也是如此)-我的意思是,我想保存自动增量,如果我联合两个表,我仍然有唯一性。我该怎么做呢?当mysql关闭时,是否可以保存自动递增?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-08 16:19:43

首先,这听起来不是一个好主意--您的存档表中不应该有auto_increment,因为所有数据都可能是直接从活动表中复制的(包括它的is )。

然而,这里有一些老生常谈的解决方案:

  1. 您可以使用以下命令更改表的当前AUTO_INCREMENT:

ALTER TABLE AUTO_INCREMENT = some_new_value

将它设置为其中一个表的较大偏移量,您将在一段时间内安全。除了当你到达偏移量时,忘记了这个小技巧,整个房子的纸牌都会倒在你的头上。

  • 当你在一个表格中选择(例如SELECT id + 1000000 AS id)时,你可以简单地添加一个常量的偏移量。

  • 最后,你可以从一个表中选择最大的ID,然后在相同的select过程中用这个值来偏移另一个表中的所有ID。但是,请确保您有足够大的数据类型用于ID。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2220232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档