我使用 GUID 作为我所有其他表的主键,但我有一个需要递增数字的要求。我试图用自动增量在表中创建一个字段,但 MySql 提示它需要成为主键。

我的应用程序使用 MySql 5,nhibernate 作为 ORM。

我想到的可能解决方案是:

  • 将主键更改为自动增量字段,但仍将 Id 作为 GUID,因此我的应用程序的其余部分是一致的。
  • 使用 GUID 和自动增量字段创建一个组合键。

  • 我目前的想法倾向于复合键的想法。

    编辑:行 ID(主键)是当前的 GUID。我想添加一个自动递增的 INT 字段,以便它是人类可读的。我只是不想摆脱应用程序中将 GUID 作为主键的当前标准。

    最佳答案

    GUID 值旨在跨表甚至数据库是唯一的,因此,创建 auto_increment 列主索引并为 GUID 创建 UNIQUE 索引

    关于sql - 你可以在 MySql 中使用自动增量而不是主键吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/634231/

    10-14 19:54
    查看更多