执行后,sql auto_increment / identity不存在

时间:2015-10-07 21:35:48

标签: sql postgresql

我正在使用sclipse中的eclipse - toad扩展...

CREATE table salesperson
(   
    Id auto_increment,
    Name varchar(40),
    CONSTRAINT id_pk PRIMARY KEY(Id)
);

执行此操作后,控制台说

  

SQL错误:错误:键入" auto_incremet"不存在

问题在哪里?

1 个答案:

答案 0 :(得分:3)

您需要指定类似INTEGER的数据类型:

CREATE TABLE salesperson (
   Id INT NOT NULL AUTO_INCREMENT,
   Name VARCHAR(40),
   CONSTRAINT id_pk PRIMARY KEY(Id) );

如果使用 SQL Server ,则使用IDENTITY

 CREATE TABLE salesperson (
   Id INT NOT NULL IDENTITY(1,1),
   Name VARCHAR(40),
   CONSTRAINT id_pk PRIMARY KEY(Id) );

修改

如果您使用的是Postgresql,可以使用SERIAL

 CREATE TABLE salesperson (
   Id SERIAL,
   Name VARCHAR(40),
   CONSTRAINT id_pk PRIMARY KEY(Id) );

或:

CREATE SEQUENCE my_seq;

CREATE TABLE salesperson (
   Id INT NOT NULL DEFAULT NEXTVAL('my_seq'),
   Name VARCHAR(40),
   CONSTRAINT id_pk PRIMARY KEY(Id) );

<强> SqlFiddleDemo