問題は私が削除することができますが、その後、私はリフレッシュし、投稿データを送信すると再び削除しようとします。これは問題ではありませんが、今は2番目の文章は問題になります。DELETEが削除されなかった場合、どうすれば失敗しますか?
削除が削除された場合にのみ、同時に減らす安全な方法は何ですか? note msgIdはPKなので、0または1を削除します。
public void removeMediaMsg(long userId, long msgId)
{
using (var dbTrans = connection.BeginTransaction())
{
command.CommandText = "DELETE FROM user_media_subscription "
+ "WHERE [email protected] AND [email protected];";
command.Parameters.Add("@msgId", DbType.Int64).Value = msgId;
command.Parameters.Add("@recipientId", DbType.Int64).Value = userId;
command.ExecuteNonQuery();
command.CommandText = "UPDATE user_data SET mediaMsgCount=mediaMsgCount-1 WHERE [email protected];";
command.Parameters.Add("@userId", DbType.Int64).Value = userId;
command.ExecuteNonQuery();
dbTrans.Commit();
}
}
影響を受けた行数を確認することをお勧めします。余分なセレクトを使用すると、冗長で遅くなります。 – configurator