小编Jef*_*eff的帖子

这种设置有我不知道的原因/好处吗?

我现在管理一个由另一个人设计和创建的 MySQL 数据库。

我对原始开发人员创建的某个设置感到困惑。

他没有对表 ID 使用自动增量。相反,他创建了一个名为system_sequences的表 ,它有两列:

system_sequences.Table_Name 
system_sequences.Next_Value
Run Code Online (Sandbox Code Playgroud)

这是一个表的示例以及它当前如何插入表中(尽我所能):

有一个名为customer的表,有一个唯一的 ID 列。

如果我想插入客户,目前我必须执行以下操作:

SELECT system_sequences.Next_Value 
FROM system_sequences 
WHERE system_sequences.Table_Name = 'customer'
Run Code Online (Sandbox Code Playgroud)

将 next_value 保存到变量中并将其用作客户的下一个 ID

那么我必须:

UPDATE system_sequences 
SET Next_Value = Next_Value + 1 
WHERE system_sequences.Table_Name = 'customer'
Run Code Online (Sandbox Code Playgroud)

我没有设计这个,我不喜欢它的任何形状或形式(我实际上讨厌它)并且我想小心地将所有内容转换为 auto_increment

但是否有原因或我不知道的好处?我以前从未见过类似的东西。并且此数据库没有任何文档可以解释任何内容。

mysql database-design mysql-5.5

5
推荐指数
1
解决办法
298
查看次数

标签 统计

database-design ×1

mysql ×1

mysql-5.5 ×1