【问题标题】:generate SQL script for data and unique FK names为数据和唯一的 FK 名称生成 SQL 脚本
【发布时间】:2012-03-06 16:40:39
【问题描述】:
我有许多具有标识结构的数据库,并且每个数据库都需要初始化数据。我创建了用于添加初始化数据的脚本,该脚本具有以下字符串:
ALTER TABLE [dbo].[aspnet_Profile] DROP CONSTRAINT [FK__aspnet_Pr__UserI__68487DD7]
但我的每个数据库都有不同的约束名称。我可以创建具有相同名称约束的数据库吗?我尝试通过脚本、Visual Studio 2010 的架构比较等方式创建数据库
我使用 MS SQL 2008
【问题讨论】:
标签:
sql-server-2008
foreign-keys
unique-constraint
【解决方案1】:
您可以在创建约束时自己命名 - 那么您应该在所有数据库上使用相同的约束名称。由于您没有提及有关架构的任何内容,因此我无法给您确切的答案-但是在创建 FK 时命名 FK 的语法如下:
ALTER TABLE [dbo].[aspnet_Profile]
ADD CONSTRAINT [FK_MyFKNameHere] FOREIGN KEY (UserID)
REFERENCES [dbo].[OtherTable](UserID)
然后把它放到你所有的数据库上是同一个脚本:
ALTER TABLE [dbo].[aspnet_Profile] DROP CONSTRAINT [FK_MyFKNameHere]