【问题标题】:AUTO_INCREMENT doesn't work in SQL server 2012?AUTO_INCREMENT 在 SQL Server 2012 中不起作用?
【发布时间】:2014-04-17 19:50:05
【问题描述】:
CREATE TABLE detectives(
    id INTEGER NOT NULL AUTO_INCREMENT,
    first_name VARCHAR(50),
    last_name VARCHAR(50) NOT NULL,
    phone_number VARCHAR(10) NOT NULL,
    certification_date DATE NOT NULL,
    CONSTRAINT detectives_pk PRIMARY KEY (id
);

它说:'AUTO_INCREMENT' 附近的语法不正确。

有什么帮助吗?

【问题讨论】:

  • 也许您应该阅读有关如何创建递增列的手册,而不是使用在 SQl 服务器中不起作用的 mysql 代码。提示查看身份

标签: sql database auto-increment


【解决方案1】:

缺少关闭 ) 并且对 IDENTITY 字段使用了不正确的语法。

CREATE TABLE detectives(
    id INT IDENTITY,
    first_name VARCHAR(50),
    last_name VARCHAR(50) NOT NULL,
    phone_number VARCHAR(10) NOT NULL,
    certification_date DATE NOT NULL,
    CONSTRAINT detectives_pk PRIMARY KEY (id)
    )

【讨论】:

    【解决方案2】:

    改变

    id INTEGER NOT NULL AUTO_INCREMENT,
    

    ID INT NOT NULL IDENTITY(1,1),
    

    【讨论】:

      【解决方案3】:

      如果要自动递增,则必须创建列标识。你的代码将是

      CREATE TABLE detectives(
          id INT NOT NULL IDENTITY (1, 1),
          first_name VARCHAR(50),
          last_name VARCHAR(50) NOT NULL,
          phone_number VARCHAR(10) NOT NULL,
          certification_date DATE NOT NULL,
          CONSTRAINT detectives_pk PRIMARY KEY (id)
      );
      

      【讨论】:

        猜你喜欢
        • 2014-02-27
        • 1970-01-01
        • 2014-07-03
        • 1970-01-01
        • 1970-01-01
        • 2016-07-07
        • 2016-12-30
        • 2016-02-14
        • 1970-01-01
        相关资源
        最近更新 更多