我如何确保两行在一起是唯一的?



我有一个插入子句和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。

最新更新