結構需要があると思うんですが、MySQLでINSERTした時、挿入されたデータのID(Auto IncrementなPrimary Key)が取りたいことってよくあると思います。INSERTが1つだけならLAST_INSERT_ID()を用いて取得することができるのですが、バルクインサート(1つのクエリで複数のデータを挿入)では取得出来ません。今回はそれを取得するための方法をまとめたいと思います。MySQLのバージョンは5.1なので、それ以降のMySQLでは苦労しなくてもうまくいくかもしれません。 問題となるのはどこか おおまかに以下の様なことをやりたいわけです。 バルクインサートしたデータのIDを取得したい(AI+PK) ON DUPLICATE KEY UPDATEで変更されたデータのIDも取得したい こんな感じです。まず1つめの条件を外して、単一のINSERT ... ON DUPL
皆さん、ご無沙汰しております。 パソコン周辺機器にお金をかけはじめている笹亀です。 エンジニアはパソコンが商売道具なので、 やはり使いやすい物を使いたくなるのは自然な事ですね。 ご参考までに。。。 マウス :Logicool MX Revolution(ビックカメラでポイントで購入 キーボード:Bluetooth Mac用キーボード(会社の人から売ってもらいましたw 今回はTriggerについてご紹介したいとおもいます。 Triggerとは、データの変更などのイベントによってあらかじめ指定した処理を自動的に実行する機能です。 最近使用しているデータベースには必ず備えてある機能です。 Oracle,Postgres,MySQLでも当たり前のようにあります。 実際にはどのようなときに使用するものなのでしょうか? ・特定のテーブルに対しての処理のログをとるため ・特定のテーブルのバックアップを
トリガーの中で対象のテーブルに追加や更新するデータのカラムの値を参照する(OLD.col_name, NEW.col_name) 作成したトリガーは対象となるテーブルにデータを追加したりデータを更新したりした時に起動しますが、トリガーが起動したときに実行される SQL 文の中で、対象となるテーブルに追加や更新されるデータの値を参照して利用することができます。ここでは MySQL でトリガーの中でテーブルに追加や更新されるデータを参照する方法について解説します。 トリガーの中で追加や削除されるデータのカラムの値を参照する トリガーは対象のテーブルにデータの追加や更新といった操作が行われた時に起動しますが、トリガーの中で対象テーブルの更新前のデータや更新後のデータを参照したい場合があります。例えばトリガーの対象のテーブルに追加されたデータを他のテーブルにも同じように追加したい場合や、データを更
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く