我有一个有AUTO_INCREMENT
字段的表。目前,它也是一个 PRIMARY KEY。
但是,在某些情况下,我需要此AUTO_INCREMENT
列来允许重复。换句话说 - 两个不同的行可以在AUTO_INCREMENT
列内具有相同的值。这意味着有一个不是 PRIMARY KEY 的 AUTO_INCREMENT 字段。
这可能吗?
我猜不是,因为每当我尝试这样做时,都会收到此错误:
ERROR 1075 (42000) at line 130: Incorrect table definition; there can be only one auto column and it must be defined as a key
我喜欢使用 AUTO_INCREMENT 字段,因为它使我不必手动存储/递增数据库中其他地方的单独计数器。我可以插入表格并获取插入的值。但是,如果我不能有重复项,我似乎将无法使用单独的表来跟踪和手动增加该字段。
更新:作为一个快速澄清,我已经熟悉将 AUTO_INCREMENT 字段与另一个键分组,如此处所述。让我们假设这个解决方案由于数据库中的其他约束而无法工作。