練習でMySQLでテストデータを190件作りたいと思っています。
決められたデータを同じ数づつ入れることは、可能でしょうか?
PERMISSION_TYPEに下記のデータを同じ数づつ入れたい
下のPERMISSION_TYPEの19個を10件づつ入れたいです。
1,50,100,101,110,120,130,140,150,199,200,300,301,350,400,450,451,800,9999
PERMISSION_STATUSに下記のデータをランダムで入れたい
0,1
テストデータ作成用SQL(今回は、①と②に入れる方法で悩んでます)
INSERT INTO PERMISSION (PERMISSION_NO, PERMISSION_MEMBER_NO, PERMISSION_TYPE, PERMISSION_IMAGE, PERMISSION_INS_TS, PERMISSION_UPD_TS, PERMISSION_STATUS) SELECT @rownum := @rownum + 1, @rownum := @rownum + 1, ①, null, now(), now(), ② FROM PERMISSION, /* 作成したい件数以上のレコードを保持する任意のテーブル */ (select @rownum := 100) as INIT /* 変数初期化 */ LIMIT 100; /* 作成したい件数を設定する */
以上教えていただけると幸いです。
パターンを網羅したいなら、ランダムは採用しませんよ。ランダムということは偏る可能性もあるってことですから。
ご指摘ありがとうございます。バランスよく偏らずに入れるには、どのようにしたら良いですか?
rand()を使わずに一時テーブルとかfunctionなりで行えば良いと思いますけど。
ただ、バランスとはご自身で決めるものです。
少なくともどのようなバランスを希望されるのかを質問に追記しないと、求めるものは得られないと思います。
すみません。一時テーブルというものを作ったことがなく、テストデータの作成で調べてみたのですが、このサイトのテンポラリのような方法で作成すれば良いのでしょうか?http://d.hatena.ne.jp/yk5656/20140202/1391910335
別に一時テーブルでなくても大丈夫です。一時テーブルだと消し忘れがなくて良いかな?程度ですので。
ありがとうございます。質問のバランスの所を具体的に修正しました。
回答1件
あなたの回答
tips
プレビュー