Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite 未知sql(ite)语法错误_Sqlite - Fatal编程技术网

Sqlite 未知sql(ite)语法错误

Sqlite 未知sql(ite)语法错误,sqlite,Sqlite,为什么下面是无效的,我在这里不知所措 'CREATE TABLE IF NOT EXISTS Mons(id int PRIMARY KEY NOT NULL AUTO_INCREMENT, keyword VARCHAR(255) NOT NULL);' 来自node.js的sqlite3,在coffeescript中为: db.parallelize( () -> db.run('CREATE TABLE IF NOT EXISTS Mons(id int PRIMARY K

为什么下面是无效的,我在这里不知所措

'CREATE TABLE IF NOT EXISTS Mons(id int PRIMARY KEY NOT NULL AUTO_INCREMENT, keyword VARCHAR(255) NOT NULL);'
来自node.js的sqlite3,在coffeescript中为:

db.parallelize( () ->
    db.run('CREATE TABLE IF NOT EXISTS Mons(id int PRIMARY KEY NOT NULL AUTO_INCREMENT, keyword VARCHAR(255) NOT NULL);')
    )
确切错误:

Error: SQLITE_ERROR: near "AUTO_INCREMENT": syntax error
  at Error (native)

sqlite中自动增量主键的语法为

INTEGER PRIMARY KEY AUTOINCREMENT
而不是

int PRIMARY KEY NOT NULL AUTO_INCREMENT

如果省略
AUTOINCREMENT
关键字,结果会略有不同。

使用AUTO\u INCREMENT不是最好的主意,除非您希望在数据库的生命周期中使用唯一的键。如果删除记录,则该id将无法再次使用。此约束将降低数据库速度并使用更多内存,因此如果您不需要唯一的键,我建议删除此约束,因为主键已经具有抵抗任何相同主键的约束。

sqlite(现在填充此注释)