**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
11个月前关门了。
改进这个问题
我正在尝试使用java在sqlite数据库中创建一个新表。它一次又一次地给我同样的错误,我对此感到非常沮丧。任何帮助都将不胜感激。
try {
Connection conn = getConnection();
Statement s = conn.createStatement();
s.execute(
"CREATE TABLE IF NOT EXISTS Loot (" +
"LootID INT PRIMARY KEY AUTO_INCREMENT," +
"Chance INT NOT NULL," +
"Material VARCHAR(50) NOT NULL" +
")"
);
s.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
我收到的错误是:
[17:19:01 WARN]: java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (near "AUTO_INCREMENT": syntax error)
[17:19:01 WARN]: at org.sqlite.DB.newSQLException(DB.java:383)
[17:19:01 WARN]: at org.sqlite.DB.newSQLException(DB.java:387)
[17:19:01 WARN]: at org.sqlite.DB.throwex(DB.java:374)
[17:19:01 WARN]: at org.sqlite.NativeDB.prepare(Native Method)
[17:19:01 WARN]: at org.sqlite.DB.prepare(DB.java:123)
[17:19:01 WARN]: at org.sqlite.Stmt.execute(Stmt.java:113)```
2条答案
按热度按时间mv1qrgav1#
将执行更改为:
也请花时间复习https://sqlite.org/autoinc.html 以了解是否需要特定的自动增量列。rowid对你来说可能足够了。
假设您没有使用lootid作为自动递增字段,而是使用如下表:
默认情况下,表将有一个名为rowid的自动递增列。所以你可以这样做:
你可能已经知道了,也可能不知道,所以我想我应该让你知道罗维德的存在。
v8wbuo2f2#
请使用以下代码:
代码更改-自动增量到自动增量