为什么auto_increment id不一一递增,如何设置?

2023-11-23

我有一个 MariaDB Galera Cluster(3 个节点),我设置uid自动增加并成为表的主键

 `uid       | int(11)     | NO   | PRI | NULL    | auto_increment`. 


 MariaDB [hello_cluster]> select uid from table order by uid limit 10;
    +-----+
    | uid |
    +-----+
    |   3 |
    |   6 |
    |   9 |
    |  12 |
    |  15 |
    |  18 |
    |  21 |
    |  24 |
    |  27 |
    |  30 |
    +-----+

我尝试了以下命令,但不起作用

 alter table uid AUTO_INCREMENT=1

这是设计使然,并报告于MariaDB Galera 集群 - 已知限制:

不要依赖自动增量值来保证顺序。 Galera使用基于自增增量的机制来产生唯一的不冲突的序列,因此在每个单个节点上序列会有间隙.

其合理性解释为使用多主管理自动增量,这也是为什么观察到的自动增量与簇数具有相同的步长。

MySQL 有系统变量 auto_increment_increment 和 auto_increment_offset 用于管理多主环境中的自动增量“序列”。使用这些变量,可以设置多主复制,其中每个主节点交错中的自动递增序列,并且集群中不应发生冲突。无论哪个主控获得插入。

即使没有集群,由于事务回滚和删除的记录,依赖自动增量列成为密集序列也很少是一个“好”主意。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么auto_increment id不一一递增,如何设置? 的相关文章

随机推荐

  • 调试 ASP.NET Core 时看不到值

    使用 Visual Studio 2015 调试 ASP NET Core 应用程序时 我无法看到变量 参数和字段值 例如 将鼠标悬停在这些值上 我也无法将它们添加到手表中 我正在调试中运行 我们可能已经找到了问题的解决方案 或至少是解决方
  • 如何将对象转换为其实际类型?

    如果我有 void MyMethod Object obj 我怎样才能投obj它的实际类型是什么 如果您知道实际类型 那么只需 SomeType typed SomeType obj typed MyFunction 如果您不知道实际类型
  • 使用 tkinter 制作简单动画

    我有一个简单的代码来使用 tkinter 可视化一些数据 按钮单击绑定到重绘下一个数据 帧 的函数 但是 我希望能够选择以一定的频率自动重绘 我对 GUI 编程非常陌生 我不需要为这段代码做很多事情 所以我的大部分 tkinter 知识都来
  • 为什么 Apache Flink 需要 Watermarks 进行事件时间处理?

    有人可以正确解释事件时间戳和水印吗 我从文档中理解了它 但不是那么清楚 现实生活中的例子或外行定义会有所帮助 另外 如果可能的话请给出一个示例 以及一些可以解释它的代码片段 提前致谢 这是一个示例 说明了为什么我们需要水印以及它们的工作原理
  • 在循环内启动任务:如何传递可以在循环内更改的值? [复制]

    这个问题在这里已经有答案了 我正在尝试在 while 循环内使用 TPL 并且需要将一些值传递给任务 然后这些值会更改为循环 例如 这里显示了一个索引递增的示例 必须在请求创建任务的行之后 int index 0 Task tasks wh
  • 每个类型的自定义 Json.NET 序列化器设置

    我正在使用 ApiController 它使用全局 HttpConfiguration 类来指定 JsonFormatter 设置 我可以非常轻松地全局设置序列化设置 如下所示 config Formatters JsonFormatter
  • 重复的 postgresql 模式,包括序列

    我的数据库布局需要为每个新客户创建新架构 目前我使用在网上找到的内部函数并进行了一些修改 CREATE FUNCTION copy schema source schema character varying target schema c
  • Leaflet for R:如何自定义簇的颜色?

    如何自定义 R 传单包中 addMarkers 函数的颜色 簇的默认颜色是 1 10 绿色 11 100黄色 100 Red 我想将范围和颜色更改为 1 100 红色 101 1000黄色 1000 绿色 JS Leaflet有这个功能 h
  • 触发CSS:非锚定元素的主动选择器

    如何通过 JavaScript jQuery 触发非锚定元素的 active 状态 复习时W3C CSS2 规范第 5 11 3 节参考 hover 伪选择器来查看如何触发 a 的激活 我遇到了以下内容 这让我相信它应该是可能的 activ
  • 在生产中每晚使用 Rust

    有人可以向我解释一下 Rust nightly 是如何 生产 的吗 我想使用PyO3使用的板条箱专业化需要每晚 Rust 的功能 使用 Rust 的夜间版本是否可以用于生产 我知道未来版本中可能会出现问题 并且可能会引入 API 更改 但就
  • 拦截 INSTALL_REFERRER 然后转发到 Google AnalyticsReceiver

    我编写了一个安装接收器来确定应用程序何时通过市场安装 但是 我还想将 INSTALL REFERRER 广播传递到其他接收器 例如 Google AnalyticsAnalyticsReceiver如果它安装在应用程序内 重要的是 我不知道
  • 如何在制表符中过滤树结构中的子项?

    我尝试打电话setFilter在我的制表符树结构上运行函数 以过滤掉项目 它似乎只过滤掉顶级父母 知道如何使其适用于任何级别 任何儿童或家长 吗 http tabulator info docs 4 1 tree没有过多说明过滤的工作原理
  • Angularjs |如何从定义控制器的元素中获取属性值

    我仍在与 Angular 中的简单事物作斗争 我有 jQuery 和 Backbonejs 背景 所以请不要对我大喊大叫 我努力去理解差异 我有 HTML 其中来自 Rails 的项目 ID 为 data project id div 有机
  • EventSource / SSE(服务器发送事件)- 安全

    我已经阅读了 w3 规范 http www w3 org TR eventsource 了解 EventSource SSE 的工作原理 但我找不到任何有关如何创建私有流的好信息 基本上 我想创建一种将私有数据发送到特定用户会话的方法 下面
  • S3 分段上传:如何取消分段上传?

    我需要取消由以下命令启动的正在进行的下载 fileTransferUtility new TransferUtility var uploadRequest new TransferUtilityUploadRequest config p
  • double、long double、float 和 float128 的比较?

    为什么 double long double 或 float 之间没有区别 例如 计算pi in C is include
  • 从 NSAttributedString 中提取图像

    我正在做的是 NSATTRIBUTE 字符串 NSSTRING UIIMAGE s NSDATA NSATTRIBUTED 字符串 我还可以将 nsdata 转换为 nsattributed 字符串 NSATTRIBUTEDSTRING N
  • 将指向原子类型的指针分配给指向非原子类型的指针

    这段代码的行为定义良好吗 include
  • 为什么带有 byref 的函数不能直接转换为委托?

    一般情况下 F 函数可以通过调用转换为委托new DelegateType并将函数作为参数传递 但是当委托包含byref参数 这是不可能直接实现的 例如代码 type ActionByRef lt a gt delegate of a by
  • 为什么auto_increment id不一一递增,如何设置?

    我有一个 MariaDB Galera Cluster 3 个节点 我设置uid自动增加并成为表的主键 uid int 11 NO PRI NULL auto increment MariaDB hello cluster gt selec