在特定的复制设置中,我使用MariaDB在星型拓扑中创建了多主复制。我有一个未知数量的‘客户-主人’,所以我已经将auto_increment_increment设置为30,并相应地设置了auto_increment_offset。当我浏览30位大师时,这个系统将会崩溃,所以我想要如下:
自动增量值是通过以下计算创建的:
auto_increment_offset + N × auto_increment_increment是否可以使自动增量-增量动态如下:
(SELECT COUNT(id) FROM Clients) + N x (SELECT COUNT(id) FROM Clients)当我将客户端添加到表中时,其他客户端将自动增加增量。
为了安全起见,我可能应该添加一个缓冲区:
(SELECT COUNT(id) FROM Clients) + N x ((SELECT COUNT(id) FROM Clients) + 5)有人能告诉我是否可以这样做,或者是否有其他方法可以做到这一点?
发布于 2014-03-17 22:12:07
不,MySQL (或MariaDB)的自动增量功能不像您请求的那样提供某种“动态”的自动增量值。你安排的公式是MySQL所能做的。
在您的情况下,您最好放弃自动增量列,而使用自定义列。例如,您可以用UUID来填充它。这并不保证生成is的唯一性,但是生成完全相同is的可能性非常低。
https://dba.stackexchange.com/questions/61091
复制相似问题