在InnoDB上使用AUTO_INCREMENT创建2列

时间:2012-12-10 16:41:19

标签: mysql innodb

我有2个id列:一个是表/系统ID,没有任何意义,应该始终自动递增。第二个是业务ID,它不会总是在插入时设置值,并且可以在插入后随时设置递增数字。

所以我打算使用NO_AUTO_VALUE_ON_ZERO设置,但是从我读过的内容来看,InnoDB不支持2个auto_increment列。我可以在这里使用的任何解决方法吗?

1 个答案:

答案 0 :(得分:1)

使用CURRENT_TIMESTAMP,一个表或2个TIMESTAMP列不能有2个自动递增,

您的选择:

  • 是创建触发器。
  • 重新设计你的数据库,因为如果你需要2个auto_increment不为null,这意味着你将在该表中有2个非空(PK)的唯一键,这是不好的。

如何创建触发器:http://dev.mysql.com/doc/refman/5.1/de/create-trigger.html