如何在Slick中使用SQLite

时间:2014-07-14 04:34:54

标签: sqlite slick

我已将conf改为:

db.default.driver=org.sqlite.JDBC 
db.default.url="jdbc:sqlite:db/db.db"

并添加:

"org.xerial" % "sqlite-jdbc" % "3.7.15-M1"

但生成的sql错误:

create table "user" ("uid" BIGINT PRIMARY KEY AUTOINCREMENT NOT NULL,"name" VARCHAR(254) NOT NULL,"pw" VARCHAR(254) NOT NULL,"email" VARCHAR(254) NOT NULL,"comment" VARCHAR(254),"updateAt" TIMESTAMP NOT NULL,"createAt" TIMESTAMP NOT NULL);

因为bigint无法自动递增。

我不想手工修理它。 如何解决它。 错误:

We got the following error: [SQLITE_ERROR] SQL error or missing database (AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY) [ERROR:1, SQLSTATE:null]

https://groups.google.com/forum/#!topic/scalaquery/07JBbnZ5VZk

1 个答案:

答案 0 :(得分:0)

@szeiger在这里写道:

https://groups.google.com/forum/#!topic/scalaquery/07JBbnZ5VZk

  
    

我们收到以下错误:[SQLITE_ERROR] SQL错误或缺少数据库(仅在INTEGER PRIMARY KEY上允许AUTOINCREMENT)[ERROR:1,SQLSTATE:null]

  
     

重新阅读SQLite数据类型文档后,我认为将所有 ingegral类型映射到INTEGER应该是正确的行动方案,因为SQLite无论如何都不区分它们,除了AUTOINCREMENT,你必须调用它们INTEGER类型。它应该像这样简单:https://github.com/slick/slick/pull/908