我希望将INSERT
多行放入MYSQL
。
我正在尝试以这种方式构建我的查询,最后我必须在查询结束时删除COMMA。
实现这一目标的更好方法(或更少的代码行)
$file_user_group_map_query = "INSERT INTO file_user_groups_map ";
foreach ($user_groups_selected as $file_user_group_map) {
$file_user_group_map_query .= "VALUES('',$file_id, " . $file_user_group_map . " ), ";
}
答案 0 :(得分:1)
试试这个:
$file_user_group_map_query = "INSERT INTO file_user_groups_map VALUES";
foreach ($user_groups_selected as $file_user_group_map) {
$insert[] = "('',$file_id, " . $file_user_group_map . " )";
}
$file_user_group_map_query .= implode(",",$insert);
答案 1 :(得分:1)
$maps = array_map(function($m) use ($file_id) {
return $file_id.",".$m;
}, $file_user_group_map);
$file_user_group_map_query =
'INSERT INTO file_user_groups_map VALUES('.
implode ( "),('', $maps ).
')';
可替换地:
$maps = array_map(function($m) use ($file_id) {
return "($file_id,$m)";
}, $file_user_group_map);
$file_user_group_map_query =
'INSERT INTO file_user_groups_map VALUES '.
implode ( ",'', $maps );
文档: