繁体   English   中英

SQL Server使用身份和主键编写数据库脚本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM