SQL CREATE语句在自动增量附近的语法不正确

ppcbkaq5  于 2022-09-18  发布在  Java
关注(0)|答案(3)|浏览(169)

我创建了下面的表,但得到了下面的错误;

  • ‘AUTO_INCREMENT’附近的语法不正确。*

SQL:

  1. CREATE TABLE [dbo].[MY_TABLE] (
  2. [ID] INT NOT NULL AUTO_INCREMENT,
  3. [NAME] NVARCHAR (100) NULL,
  4. [SCHOOL] NVARCHAR (100) NULL,
  5. PRIMARY KEY (ID)
  6. );

我想我做的每件事都是对的。有谁能帮帮我吗?

w6lpcovy

w6lpcovy1#

它在SQL Server中是IDENTITY而不是AUTO_INCREMENT

试着这样做:

  1. CREATE TABLE [dbo].[MY_TABLE] (
  2. [ID] INT NOT NULL IDENTITY(1, 1),
  3. [NAME] NVARCHAR (100) NULL,
  4. [SCHOOL] NVARCHAR (100) NULL,
  5. PRIMARY KEY (ID)
  6. );
kdfy810k

kdfy810k2#

不是AUTO_INCREMENT。下面是来自sqlfiddle的演示

3ks5zfa0

3ks5zfa03#

MSSQL使用Identity,如下所示。AUTO_INCREMENT适用于MySQLMariaDB*:

  1. CREATE TABLE [dbo].[MY_TABLE] (
  2. [ID] INT NOT NULL IDENTITY, -- Here
  3. ...
  4. );

此外,您还可以通过**“()”拥有自定义身份**,如下所示。第一个参数是开始值,第二个参数是增量值,所以在下面的例子中,如果第一次插入一行,ID20,如果第二次插入行,ID23

  1. -- Increment value
  2. CREATE TABLE [dbo].[MY_TABLE] (--
  3. [ID] INT NOT NULL IDENTITY(20, 3),
  4. ... --
  5. ); -- Start value

并且,IDENTITY等同于IDENTITY(1, 1)

相关问题