【发布时间】:2017-11-21 17:46:31
【问题描述】:
我正在尝试设计一个如下所示的数据库:
CREATE TABLE `Item` (
`SKU` int(11) NOT NULL,
`ItemName` varchar(45) DEFAULT NULL
PRIMARY KEY (`SKU`)
)
CREATE TABLE `ItemVariant` (
`SKU` int(11) NOT NULL,
`ItemAttributeID` int(11) NOT NULL AUTO_INCREMENT,
`Color` varchar(45) DEFAULT NULL,
PRIMARY KEY (`SKU`,`ItemAttributeID`),
CONSTRAINT `ItemAttributeMaster_SKU` FOREIGN KEY (`SKU`) REFERENCES `ItemMaster` (`SKU`) ON DELETE CASCADE ON UPDATE CASCADE
)
我希望自动增量像这样工作 - 对于每个 SKU,ItemAttributeID 将从 1 开始自动增量。所以我可以有
SKU|ItemAttributeID|Color
1 |1 |Red
1 |2 |Blue
1 |3 |Green
2 |1 |Purple
2 |2 |Orange
2 |3 |Red
2 |4 |Blue
3 |1 |Green
但使用自动增量并不能实现这一点。我怎样才能达到这个结果?
【问题讨论】:
标签: mysql sql auto-increment composite-primary-key