Java SQLite : exploiting a ResultSet for a COUNT query

标签 java sql sqlite unique-constraint

我在 Java 应用程序中使用 SQLite,在添加行之前我需要知道是否可能违反 UNIQUE 约束。

因此,我编写了一个小方法,用于计算具有相同唯一值的行数(这里是一个用于我的表 User 的方法,位于创建数据库的类中;我经常添加用户):

public boolean testUserId(String a) {
    try {
        String query = "SELECT COUNT(*) FROM USER WHERE ID = " + a + ")";

        ResultSet rs = select(query);

        if (rs.next()) {
            System.out.println("Point 1");
            boolean ok = (rs.getInt(1) == 0);

            if (ok) {
                return true;
            }
        }

    } catch (Exception e) {
        System.err.println(e.getClass().getName() + ": " + e.getMessage());
        System.exit(0);
    }
    return false;
}

但它永远不会到达点1。熟悉这个的人可以告诉我我错在哪里吗?提前致谢。

最佳答案

尝试引用该值

String query = "SELECT COUNT(*) FROM USER WHERE ID = '" + a + "')";

关于Java SQLite : exploiting a ResultSet for a COUNT query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34301787/

相关文章:

php - 使用连接表和用户 ID 输出重复的数据行

sql - 当PRIMARY KEY值不连续时,如何获取下一个SQL行?

python - 重新混合两个表中接收命令的两个函数,使两个函数合而为一

java - 无法解析响应

java - 我在哪里可以找到 Java EL 3.0 的实现

java - startActivityForResult 返回错误的 Activity

java - 在 UNIX 上使用 Java 部署和执行某些东西

sql - 在 HSQLDB/JDBC 中取消长时间运行的查询

SQL 性能方面,: an IF. ..ELSE 子句和 WHERE LIKE 子句哪个更好?

Android rawQuery - 有没有办法使用参数化的 "IN"来收集数据