最佳答案
我查看了 SQLServer2008的 AdventureWorks 示例数据库,并且在它们的创建脚本中看到它们倾向于使用以下内容:
ALTER TABLE [Production].[ProductCostHistory] WITH CHECK ADD
CONSTRAINT [FK_ProductCostHistory_Product_ProductID] FOREIGN KEY([ProductID])
REFERENCES [Production].[Product] ([ProductID])
GO
紧接着是:
ALTER TABLE [Production].[ProductCostHistory] CHECK CONSTRAINT
[FK_ProductCostHistory_Product_ProductID]
GO
我在外键(如此处)、唯一约束和常规 CHECK
约束中看到了这一点; DEFAULT
约束使用我更熟悉的常规格式,如:
ALTER TABLE [Production].[ProductCostHistory] ADD CONSTRAINT
[DF_ProductCostHistory_ModifiedDate] DEFAULT (getdate()) FOR [ModifiedDate]
GO
如果有的话,第一种方法和第二种方法有什么区别呢?