为什么在企业管理器对表进行"生成 sql 脚本"操作时,生成的脚本都没有主键等相关信息呢?
比如下面是对pubs表生成的脚本.
其中au_id本来就是主键,但是生成的脚本中没有主键的信息.这是为什么呢?CREATE TABLE [dbo].[authors] (
[au_id] [int] NOT NULL ,
[au_lname] [varchar] (40) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[au_fname] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[phone] [char] (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[address] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
[city] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[state] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[zip] [char] (5) COLLATE Chinese_PRC_CI_AS NULL ,
[contract] [bit] NOT NULL 
) ON [PRIMARY]

解决方案 »

  1.   

    右击某表->所有任务->生成SQL角本->选中选项卡:把表角本选项全勾上
      

  2.   

    CREATE TABLE [dbo].[authors2] (
    [au_id] [int] NOT NULL PRIMARY KEY CLUSTERED,
    [au_lname] [varchar] (40) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [au_fname] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [phone] [char] (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [address] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
    [city] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
    [state] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
    [zip] [char] (5) COLLATE Chinese_PRC_CI_AS NULL ,
    [contract] [bit] NOT NULL 
    ) ON [PRIMARY]按理说红色字体处应该有呀,但是自动生成的脚本中就没有,真不知为什么.
      

  3.   

    谢谢,可是打上勾,也不是在原语句中加主键,而是额外加几条修改表的语句.为何多此一举呢?
    请指教.谢谢.CREATE TABLE [dbo].[authors] (
    [au_id] [id] NOT NULL ,
    [au_lname] [varchar] (40) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [au_fname] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [phone] [char] (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [address] [varchar] (40) COLLATE Chinese_PRC_CI_AS NULL ,
    [city] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
    [state] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
    [zip] [char] (5) COLLATE Chinese_PRC_CI_AS NULL ,
    [contract] [bit] NOT NULL 
    ) ON [PRIMARY]
    GOALTER TABLE [dbo].[authors] WITH NOCHECK ADD 
    CONSTRAINT [UPKCL_auidind] PRIMARY KEY  CLUSTERED 
    (
    [au_id]
    )  ON [PRIMARY] 
    GOALTER TABLE [dbo].[authors] ADD 
    CONSTRAINT [DF__authors__phone__78B3EFCA] DEFAULT ('UNKNOWN') FOR [phone],
     CHECK ([au_id] like '[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]'),
     CHECK ([zip] like '[0-9][0-9][0-9][0-9][0-9]')
    GO CREATE  INDEX [aunmind] ON [dbo].[authors]([au_lname], [au_fname]) ON [PRIMARY]
    GO