2016-10-03 12 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