Java 尝试为SQLite db创建表时获取无法识别的语句

Java 尝试为SQLite db创建表时获取无法识别的语句,java,sql,sqlite,jdbc,Java,Sql,Sqlite,Jdbc,我试图用java中的SQL创建一个表,但得到了无法识别的语句 我已经查阅了很多教程,甚至复制了代码,但我仍然得到相同的错误 String sql = "CREATE TABLE Player " + "( " + "ID INTEGER NOT NULL," + "Username TEXT NOT NULL," + "isActive INTEGER NOT NULL

我试图用java中的SQL创建一个表,但得到了无法识别的语句

我已经查阅了很多教程,甚至复制了代码,但我仍然得到相同的错误

String sql = "CREATE TABLE Player "
                + "( "
                + "ID INTEGER NOT NULL,"
                + "Username TEXT NOT NULL,"
                + "isActive INTEGER NOT NULL,"
                + " PRIMARY KEY(ID)"
                + " );";
PreparedStatement ps = this.connection.prepareStatement(sql);
ps.execute();
我希望没有错误,即使是我复制的代码,应该可以工作,但得到的错误消息只是“Unrecognized statement”

我正在为SQLite使用最新版本的JDBC

编辑:
好的,我已经构建了这个项目,在执行时它实际上创建了一个表,那么为什么IntelliJ idea说它是一个无法识别的语句呢?

好的,这个问题不是由我的代码引起的,而是由名为DB Navigator的插件引起的,所以我卸载了它,它恢复了正常。

我无法重现您的问题。我准确地复制并粘贴了您的代码,使用Xerial的
sqlite-jdbc-3.27.2.1.jar对我来说效果很好。连接是如何建立的?嘿,我使用的是Xerial的sqlite-jdbc-3.27.2.1
,我已经创建了另一个具有相同jdbc设置的项目,但仍然不起作用。我复制了另一个对我有效的SQL语句在sql字符串中,我没有得到任何问题。在我看来,所有其他语句都可以正常工作,但创建表却没有任何原因。我已将SDK版本从10更改为12,以防万一,但仍然存在问题。请阅读以下内容: