我现在管理一个由另一个人设计和创建的 MySQL 数据库。
我对原始开发人员创建的某个设置感到困惑。
他没有对表 ID 使用自动增量。相反,他创建了一个名为 system_sequences的表,其中有两列:
system_sequences.Table_Name
system_sequences.Next_Value
这是一个表的示例以及它当前如何插入表中(尽力而为):
有一个名为customer的表,它有一个唯一的 ID 列。
如果我想插入客户,目前我必须执行以下操作:
SELECT system_sequences.Next_Value
FROM system_sequences
WHERE system_sequences.Table_Name = 'customer'
将 next_value 保存到变量中并将其用作客户的下一个 ID
然后我必须:
UPDATE system_sequences
SET Next_Value = Next_Value + 1
WHERE system_sequences.Table_Name = 'customer'
我没有设计这个,我不喜欢它的任何形状或形式(我实际上讨厌它)并且我想小心地将所有内容转换为 auto_increment
但是有没有我不知道的原因或好处?我以前从未见过这样的东西。而且这个数据库没有任何文档可以解释任何内容。