我有一个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变量已经有了这些值我只是不知道如何检查数据库中是否有这些对;如果我没有继续插入,否则停止插入。
答案 0 :(得分:1)
您应该在数据库中添加唯一键。如果你想在应用程序站点处理,也许你可以使用Hibernate或JPA或JDO。