【问题标题】:SQL Table: Primary key ID not auto incrementingSQL 表:主键 ID 不自动递增
【发布时间】:2016-05-14 19:20:24
【问题描述】:

我用 Visual Studio 自动生成了这个文件:

CREATE TABLE [dbo].[Users] 
(
    [Id]                     INT           NOT NULL,
    [name]                   VARCHAR (50)  NOT NULL,
    [surname]                VARCHAR (50)  NOT NULL,
    [dni]                    VARCHAR (50)  NOT NULL,
    [phone]                  VARCHAR (50)  NOT NULL,
    [gender]                 BIT           NOT NULL,
    [email]                  VARCHAR (50)  NOT NULL,
    [inscriptionDate]        VARCHAR (50)  NOT NULL,
    [address]                VARCHAR (50)  NOT NULL,
    [postalCode]             VARCHAR (50)  NOT NULL,
    [city]                   VARCHAR (50)  NOT NULL,
    [province]               VARCHAR (50)  NOT NULL,
    [photo]                  IMAGE         NULL,
    [medicalHistory]         VARCHAR (MAX) NULL,
    [preferredMedicalCenter] VARCHAR (50)  NULL,
    [contactPersonName]      VARCHAR (50)  NOT NULL,
    [contactPersonPhone]     VARCHAR (50)  NOT NULL,

    PRIMARY KEY CLUSTERED ([Id] ASC)
);

但是主键 ID 不是自动递增的,虽然我认为它会这样做。

有什么提示吗?

【问题讨论】:

  • mysql 的奇怪格式 ... 似乎是 sqlserver ..
  • 使用身份 [ID] int IDENTITY(1,1) NOT NULL
  • image 数据类型将在 SQL Server 的未来版本中删除。避免在新的开发工作中使用此数据类型,并计划修改当前使用它的应用程序。请改用varbinary(max)See details here

标签: c# sql-server database visual-studio


【解决方案1】:

只需使用IDENTITY(1,1) 自动增加[Id] 字段:

 CREATE TABLE [dbo].[Users] (
        [Id]                     INT           IDENTITY(1,1) NOT NULL,
        [name]                   VARCHAR (50)  NOT NULL,
        [surname]                VARCHAR (50)  NOT NULL,
        [dni]                    VARCHAR (50)  NOT NULL,
        [phone]                  VARCHAR (50)  NOT NULL,
        [gender]                 BIT           NOT NULL,
        [email]                  VARCHAR (50)  NOT NULL,
        [inscriptionDate]        VARCHAR (50)  NOT NULL,
        [address]                VARCHAR (50)  NOT NULL,
        [postalCode]             VARCHAR (50)  NOT NULL,
        [city]                   VARCHAR (50)  NOT NULL,
        [province]               VARCHAR (50)  NOT NULL,
        [photo]                  IMAGE         NULL,
        [medicalHistory]         VARCHAR (MAX) NULL,
        [preferredMedicalCenter] VARCHAR (50)  NULL,
        [contactPersonName]      VARCHAR (50)  NOT NULL,
        [contactPersonPhone]     VARCHAR (50)  NOT NULL,
        PRIMARY KEY CLUSTERED ([Id] ASC)
    );

【讨论】:

  • 谢谢哥们,我感觉你的选择会起作用,但我无法对其进行测试。每次我刷新 SQL 代码时,它都保持原样!我发布了另一个问题:stackoverflow.com/questions/37231436/… 一旦我能够对此进行测试,如果它有效,我会将您的解决方案标记为正确。再次感谢男人
  • 它运行良好,因为我在 SQL Server Management Studio 中对此进行了测试。检查你的另一个问题。
  • 谢谢哥们,请问如何更新SQL代码?也许我做错了什么
  • @stackman 我没有使用 Visual Studio 附带的 SQL Server Express,而是使用 SQL Server Management Studio (简称SSMS)
  • 谢谢,伙计。你只是点击“更新”按钮吗?我正在使用 SQL Server Data Tools 2015
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-07
  • 1970-01-01
  • 1970-01-01
  • 2015-05-11
  • 2016-04-22
  • 1970-01-01
相关资源
最近更新 更多