Sqlite不接受创建表

Sqlite不接受创建表,sql,sqlite,auto-increment,Sql,Sqlite,Auto Increment,我正在尝试在终端上的sqlite3上创建一个表。该命令如下所示: CREATE TABLE test ( id int not null auto_increment primary key , col2 varchar(25) not null , col2 varchar(40) not null , col3 varchar(20) not null , col4 float not null ) engine = MYISAM ; 我经常得到错误:接近“自动激励”:语法错误,但我找不到

我正在尝试在终端上的sqlite3上创建一个表。该命令如下所示:

CREATE TABLE test (
id int not null auto_increment primary key ,
col2 varchar(25) not null ,
col2 varchar(40) not null ,
col3 varchar(20) not null ,
col4 float not null
) engine = MYISAM ;
我经常得到
错误:接近“自动激励”:语法错误,但我找不到它。任何修复它的建议都会非常有用。
谢谢您的时间。

您的语法错误。
关键字应该是
AUTOINCREMENT
而不是
AUTO\u INCREMENT
,并且只有将列定义为
整数主键时才能使用该关键字
但是,在定义中,您实际上不需要
AUTOINCREMENT

id INTEGER PRIMARY KEY
通过将列定义为
整数主键
,它也将自动递增。
如果在定义中使用关键字
AUTOINCREMENT

id INTEGER PRIMARY KEY AUTOINCREMENT
然后,
id
列中的值将永远不会被重用(因此删除一行后,id中会出现间隙)。
当然,不需要
notnull
,因为您定义了主键,而SQLite不支持存储引擎的定义(就像MySql一样)。
因此,请将您的声明改为:

CREATE TABLE test (
  id integer primary key ,
  col1 varchar(25) not null ,
  col2 varchar(40) not null ,
  col3 varchar(20) not null ,
  col4 float not null
);