![](/img/trans.png)
[英]SQL Server 17, database migration, function for setting identity in primary key
[英]SQL Server Scripting the Database with Identity and Primary Key
我正在尝试使用SSMS编写整个数据库的脚本。 我注意到它没有编写标识列或主键的脚本。 这是正确的似乎很奇怪。 有没有人可以推荐完成该任务的工具?
CREATE TABLE [dbo].[DRIVERS]
(
[ID] [int] NOT NULL,
[BADGENUM] [int] NOT NULL,
[NAME] [varchar](50) NOT NULL,
[MOBILETEL] [varchar](50) NULL,
[HOMETEL] [varchar](50) NULL,
[ADDRESS1] [varchar](50) NULL,
[ADDRESS2] [varchar](50) NULL,
[ADDRESS3] [varchar](50) NULL,
[TOWN] [varchar](50) NULL,
[POSTCODE] [varchar](50) NULL,
[BADGEEXPIRES] [datetime] NOT NULL,
[COMMENTS] [varchar](250) NULL,
[DISABLED] [bit] NOT NULL,
[ACTIVE] [bit] NOT NULL,
[ONSHIFT] [bit] NOT NULL,
[PIN] [nvarchar](50) NOT NULL,
[SCHOOLSOK] [bit] NOT NULL,
[EMAIL] [varchar](50) NULL
) ON [PRIMARY]
ID
列应为自动增量标识和主键。
您可以张贴它为其中一张表生成的脚本吗? 以我的经验,SSMS生成脚本将包含主键,但它们不是列定义的一部分。
例如:
CREATE TABLE [dbo].[test](
[a] [int] NOT NULL PRIMARY KEY,
[b] [int] NOT NULL,
)
生成脚本时变为
CREATE TABLE [dbo].[test](
[a] [int] NOT NULL,
[b] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[a] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
主键仍处于定义状态,但是生成的脚本使用正式的详细语法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.