タグ

ブックマーク / mt.orz.at (1)

  • SequenceをGeneratedKeyでエミュレート(MySQL+JDBC版)

    名簿テーブルのIDがAUTO_INCREMENTの場合に係り活動テーブルに入れるIDの取得に困ります。 名簿テーブルにデータをINSERTする。(IDは自動生成で1が入ったとする) 自動生成された1を取得するために以下の方法で取得する SELECTを発行する LAST_INSERT_ID()をコールする 係り活動テーブルにデータをINSERTする。 SELECTの場合、MAX関数使った場合はマルチスレッド、マルチプロセスで破綻します。 LAST_INSERT_ID()の場合、発行する順番に気をつければ同一セッション内で値が保持されている・・・? 詳しくはわかりません(´・ω・`) またAUTO_INCREMENTをやめてシーケンステーブルを作成した場合、SELECTは上記と同じ理由で破綻(ロックかけるなら別ですけど。)、LAST_INSERT_IDは上手くいくが、どちらにせよ2往復している

    SequenceをGeneratedKeyでエミュレート(MySQL+JDBC版)
  • 1