java.sql.SQLException:接近"ON":语法错误

Ash*_*Ash -1 java sql sqlite

嘿伙计们,我已经搜索了许多其他答案,我仍然无法弄清楚这个问题.

statement.executeUpdate("CREATE TABLE IF NOT EXISTS recentlyWatched (fileName STRING NOT NULL, fileLocation STRING, viewCount INTEGER, PRIMARY KEY (fileName))");

Class.forName("org.sqlite.JDBC");
        connection = DriverManager.getConnection("jdbc:sqlite:media.db");
        statement = connection.createStatement();
        statement.executeUpdate("INSERT INTO recentlyWatched (fileName, fileLocation, viewCount) VALUES ('"
                + fileName + "', '"
                + fileLocation + "', 0) ON DUPLICATE KEY UPDATE viewCount = '1'");
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多方法来解决这个问题,每当我尝试插入一条记录时都会感到茫然,我得到"java.sql.SQLException:near"ON":语法错误".

更新

最终代码看起来像这样

statement.executeUpdate("INSERT OR IGNORE INTO recentlyWatched (fileName, fileLocation, viewCount) VALUES ('"
                + fileName + "', '"
                + fileLocation + "', 0)");
        statement.executeUpdate("UPDATE recentlyWatched SET viewCount = viewCount + 1 WHERE '" + fileName + "' LIKE fileName;");
Run Code Online (Sandbox Code Playgroud)

svz*_*svz 5

你可以告诉Class.forName("org.sqlite.JDBC")你使用不支持该ON DUPLICATE子句的SQLite数据库.这就是您收到此错误的原因.

检查问题以获得解决方法.