複数行のデータをインポートするときに、INSERT文を大量に作って流す。
原始的なやり方ですが、データをささっとインポートしたいときによくやります。
わざわざSQLにすることで、いろいろと融通が利くんですよ。
しかし1行ずつ作っていては手間がかかりすぎますので
自動でINSERT文を大量に作ってくれるツールを作ってみました。WEBから実行できます。
在宅プログラマーの備忘録として2005年に始めたブログです。
複数行のデータをインポートするときに、INSERT文を大量に作って流す。
原始的なやり方ですが、データをささっとインポートしたいときによくやります。
わざわざSQLにすることで、いろいろと融通が利くんですよ。
しかし1行ずつ作っていては手間がかかりすぎますので
自動でINSERT文を大量に作ってくれるツールを作ってみました。WEBから実行できます。
MySQLには自動で採番するAUTO_INCREMENTという設定があります。
基本的にはこれを使えば自動的にユニークな番号を採番してくれるのですが、
データを頻繁に削除したり、テーブルをコピーしたりしていると
AUTO_INCREMENTの値が重複したり、過去に削除したデータと同じ値になってしまったりと
いろいろと怖いリスクがあります。
そのリスクを避けるため、私はINSERT文を実行する関数の中で自前で採番するようにしています。
1 2 |
/* TABLE1.ROW_NO が採番用カラムとする */ select ifnull(max(ROW_NO), 0) + 1 as max_row_no from TABLE1. |