使用复合主键自动增量

时间:2017-05-15 20:53:15

标签: mysql sql key primary-key auto-increment

我不完全确定要搜索什么,所以如果这实际上是重复,我会道歉。

我有一张桌子(或至少想要)如下:

  • ID
  • 公司名称
  • SomeOtherInfo

主键是IDCompany name(复合主键)。我想要的是每个公司的ID自动递增。

例如:

1-google
2-google
3-google
1-yahoo
4-google
2-yahoo

通过这种方式,它们始终是唯一的,但每个公司单独递增。

这可能来自简单的SQL创建命令,而不是没有2个表并使用辅助ID连接它们。

请告诉我,谢谢。

1 个答案:

答案 0 :(得分:0)

如果我关注这个问题。在ID列上创建一个带有标识的表。然后在公司名称上创建一个唯一索引。

MySql版本
CREATE TABLE Company (
    CompanyID int NOT NULL AUTO_INCREMENT,
    CompanyName varchar(255) NOT NULL,
    OtherData  varchar(255),
    PRIMARY KEY (CompanyID)
); 

CREATE UNIQUE INDEX CompanyUniqueComposite
ON Company (CompanyID , CompanyName );