タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

MySQLとLAST_INSERT_IDに関するhatehate331000のブックマーク (2)

  • 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版)
  • Did you reboot?:Mysqlでシーケンスのシミュレーション - livedoor Blog(ブログ)

    Orable,Postgresなどから、MySQLやるハメになったアナタ! まず思うのが、シーケンステーブル (つд⊂)ゴシゴシ (´Д⊂)ナーイ 。゚(゚´Д`゚)゜。ウァァァン 今日、DB移行作業でやるハメになりましたっっ。 ハマったので、メモしておきます。脇の下、軽く汗かいちゃいました。 どうやらLAST_INSERT_IDを使うらしい。 LAST_INSERT_ID(expr)について、公式ドキュメントには下記のようにある。 LAST_INSERT_ID(expr) の引数として expr を指定した場合、引数の値が関数から返され、この値が LAST_INSERT_ID() によって返される次の値として設定される。 うぅ〜む。日語難しい。 試しに、やってみる。 まず、テーブルを作成する。 mysql> CREATE TABLE sequence (i

  • 1