繁体   English   中英

jdbc如何确保2行是唯一的

[英]jdbc how can I make sure that 2 rows are unique together

我有一个insert子句和2列名为my_id和stream_id的列,我希望这样做,以便每对(my_id,stream_id)都是唯一的。 例如,my_id是用户的个人唯一ID,并且始终相同,并且stream_id对应于不同的帖子。 例如,如果my_id为4,stream_id为8,则可以插入,但是由于该数据库现在位于数据库中,因此您无法在同一stream_id为8的情况下再次插入。这是我的jdbc代码

int stream_id= Integer.parseInt(requestData.get("stream_id"));
int my_id= Integer.parseInt(requestData.get("my_id"));
       String insertTableSQL = "INSERT INTO reputation"
        + "(stream_id,my_id) VALUES"
        + "(?,?)";

    dbConnection = DB.getConnection();
    preparedStatement = dbConnection.prepareStatement(insertTableSQL, Statement.RETURN_GENERATED_KEYS);

    preparedStatement.setInt(1, stream_id);
    preparedStatement.setInt(2, my_id);
    preparedStatement.executeUpdate();

只是为了澄清一下,我只是想确保我的数据库中有唯一的对,如果我的my_id为5,stream_id为9,那么我应该拒绝另一对5和9。int变量已经具有我刚刚做的那些值不知道如何检查数据库中是否有这些对; 如果我不继续插入,请停止插入。

您应该在数据库中添加唯一键。 如果您想在应用程序站点进行处理,则可以使用Hibernate或JPA或JDO。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM