テストデータのSQLをphpで生成する

この記事は最新更新日から、6年以上経過しています。

なんでも雛形つくると楽だよねみたいなことをつい思ってしまう

位置行ずつinsert intoしてるのは実行するとわかるけど、エラー出た時にinsert済みの不要なSQL削除しやすくするためです。
文字列のところはダブルクォートでくくらないとエラーになるので注意。
array_randで配列の中の適当な1つの値を入れています。
知らないだけでもっといい方法あるんだろうなって毎日思ってる

$ids = array(1,2,3,4); //ランダムにIDつかないならfor文で指定してもいいと思う
$int = 1;
$string = '文字列';
$array_int = array(1,2,3,4,5);
$array_str = array('文字列1','文字列2', '文字列3');

$sql = '';
//SQL作る
foreach ($ids as $id){
	$sql .= 'INSERT INTO table1 (id,val1,val2,val3.val4,val5) ';
	$sql .= 'VALUES	( '.$ids.','.$int.',"'.$string.'" , '.$array_int[array_rand ($array_int, 1)].',"'.$array_str[array_rand ($array_str, 1)].'", NOW() );';
	$sql .= '<br />';
}

echo $sql;