如何创建另一个MySQL自动增量列?

web*_*ver 5 mysql auto-increment

MySQL不支持多个自动增量列.

CREATE TABLE IF NOT EXISTS `parts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `order` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Run Code Online (Sandbox Code Playgroud)

是否有另一种解决方案可以order在插入新记录时自动增加列的值?

N.B*_*.B. 7

您可以通过发出另一个增加的查询在应用程序中执行此操作,order也可以创建一个为您执行此操作的触发器.无论你做什么,为了编程世界的理智 - 不要使用保留字作为列名,如order:)

  • 为了编程世界的理智,你必须使用反引号来逃避列名,并且永远不会对保留字有任何问题. (20认同)

Rih*_*iho 3

为什么你想要 2 个字段自动递增 - 它们无论如何都会有相同的值,所以你可以只使用 ID。

如果您希望发票/订单具有连续编号,那么您应该将该编号保留在单独的表中,并具有单独的逻辑来更新这些编号。

  • 它们可能彼此“偏移”,或者OP可能想要“弥补自动增量中的漏洞”。本文是 MSSQL,但可能相关。http://stackoverflow.com/questions/349092/can-a-sql-server-table-have-two-identity-columns (4认同)