0
我有一個插入子句和2列名爲my_id和stream_id,我希望它使每對(my_id,stream_id)是唯一的。例如,my_id是用戶個人唯一的ID,它總是相同的,stream_id對應於不同的帖子。例如,如果添加my_id是4和的stream_id是8,那麼你可以插入但因爲現在是你不能做的8.這同樣的stream_id另一插入數據庫是我的JDBC代碼jdbc我怎樣才能確保2行是唯一的一起
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();
只是爲了澄清我只是想確保我有唯一的數據庫對,如果我有一個5的my_id和9的stream_id,那麼我應該拒絕另一對5和9. int變量已經有我不知道的那些值如何檢查數據庫中是否有這些對;如果我不那麼繼續插入,否則停止插入。
爲數據庫添加一個唯一密鑰 - 它應該是RMDBS的工作,以確保數據的完整性。 –
CREATE UNIQUE INDEX my_index_name ON聲望(stream_id,my_id) –
噢好吧我正在使用mysql我知道有唯一的密鑰,但這是2對,應該是一個唯一的密鑰。我會進一步研究它。 – user1949387