C Sharpens you up

http://qiita.com/yuba に移しつつあります

DBの自動連番がロールバックしても戻らない理由

DBの主キーカラムに自動連番(MySQLならAUTO_INCREMENTSQL ServerならIDENTITYOraclePostgreSQLならシーケンス)を設定していると、基本的には連続した数字が付番されていくのですが、行削除もしていないのに抜け番が発生する場合があります。

などの場合です。

特にトランザクションロールバックは、DB全体の変更をなかったことにするはずなのに連番だけは進んだまま戻らないということで、知らないと違和感があるものです。

続きを読む