假设我们有一个带有表 Orders 的网上商店。
它具有复合键
OrderID int, ShopID int
如果我
insert into Orders (ShopID) values (3)
我希望订单包含:
OrderID ShopID
1 3
接着
insert into Orders (ShopID) values (4)
它应该包含
OrderID ShopID
1 3
1 4
如果我
插入订单 (ShopID) 值 (3)
它应该包含
OrderID ShopID
1 3
1 4
2 3
无需手动尝试插入记录,例如增加 OrderID
我认为这个解决方案是一种 hack 的原因是,当我只有一个列时,我不必手动插入记录,而且没有任何合乎逻辑的理由我应该根据我的特定要求诉诸这种解决方案。
我正在使用 T-SQL,我在 irc 上听说过一些关于它的某些版本实际上支持这一点的谣言,但我不知道以哪种方式。
这个问题当然延伸到其他 RDBM:s。