我尝试模拟订单。订单应由客户和时间戳识别。现在我有一个包含所有订购产品的第二张表。 Coloumns是客户,时间戳,产品和金额,其中客户和时间戳应该是从我的订单中取出的外键。问题出在mysql-workbench中,好像我无法引用时间戳。在右栏中的“外键”菜单中,我尝试检查日期时间列,但它仍未选中,我无法选择“引用列”。
我希望很明白我想做什么。谢谢你的帮助。
答案 0 :(得分:1)
对于外键引用的列,它必须是主键。我建议在表格中添加一个ID列,并将其作为主键。如有必要,您可以添加约束以确保Customer和Timestamp的组合是唯一的。
假设您使用的是SQL Server:
CREATE TABLE Order
(
ID int IDENTITY(1,1) PRIMARY KEY,
Customer varchar(255) NOT NULL,
Timestamp DateTime NOT NULL,
CONSTRAINT uc_Order UNIQUE (Customer ,Timestamp)
)