2016-10-03 45 views
0

我試圖在我新創建的SQLite數據庫中創建一個表。出於某種原因,我得到一個SQLException:SQLITE_ERROR - SQL錯誤或缺少數據庫(接近「AUTOINCREMENT」:語法錯誤)

try { 
     logger.debug("Trying to create table powerperms_permissions if not exists"); 
     statement.execute("CREATE TABLE IF NOT EXISTS powerperms_permissions (" 
       + "id INT NOT NULL AUTOINCREMENT," 
       + "uuid VARCHAR (64) NOT NULL," 
       + "permission VARCHAR (64) NOT NULL," 
       + "world VARCHAR (32) NULL," 
       + "PRIMARY KEY (id));"); 
    } catch (SQLException e) { 
     logger.error("Couldn't create permissions table",e); 
    } 

拋出

[07:49:17 ERROR]: [PowerPerms] Couldn't create permissions table 
java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (near "AUTOINCREMENT": syntax error) 
    at org.sqlite.DB.newSQLException(DB.java:383) ~[spigot-1.10.jar:git-Spigot-6016ac7-10c10b3] 
    at org.sqlite.DB.newSQLException(DB.java:387) ~[spigot-1.10.jar:git-Spigot-6016ac7-10c10b3] 
    at org.sqlite.DB.throwex(DB.java:374) ~[spigot-1.10.jar:git-Spigot-6016ac7-10c10b3] 
    at org.sqlite.NativeDB.prepare(Native Method) ~[spigot-1.10.jar:git-Spigot-6016ac7-10c10b3] 
    at org.sqlite.DB.prepare(DB.java:123) ~[spigot-1.10.jar:git-Spigot-6016ac7-10c10b3] 
    at org.sqlite.Stmt.execute(Stmt.java:113) ~[spigot-1.10.jar:git-Spigot-6016ac7-10c10b3] 
    at eu.taigacraft.powerperms.Main.registerSqlite(Main.java:240) [PowerPerms_v1.0.jar:?] 
    at eu.taigacraft.powerperms.Main$2.run(Main.java:48) [PowerPerms_v1.0.jar:?] 
    at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:71) [spigot-1.10.jar:git-Spigot-6016ac7-10c10b3] 
    at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [spigot-1.10.jar:git-Spigot-6016ac7-10c10b3] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_72] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_72] 
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_72] 

爲什麼?

回答

-2

必須有一個數據庫,自動增量拼寫爲AUTO_INCREMENT,而不是null可能會影響您的代碼,具體取決於您的dbms

相關問題