我想在单个查询中将两个数组的值插入表中。有可能做那样的事情。
表格式
id | product_id | category_id | blog_id | updated_by | created_date
类别_id
Array
(
[0] => 4
[1] => 15
[2] => 18
)
PRODUCT_ID
Array
(
[0] => 2260
[1] => 1401
)
Blog id = mysql_insert_id();
结果
id | product_id | category_id | blog_id | updated_by
1 2260 4 15 xyz
2 1401 15 15 xyz
3 null 18 15 xyz
对我来说,任何建议也可以为此改进更好的插入查询。
答案 0 :(得分:2)
INSERT INTO `Table_Name` (`product_id`, `category_id`, `blog_id`, `updated_by`) VALUES (2260, 4, 15, 'xyz'), (1401, 15, 15, 'xyz'), (, 18, 15, 'xyz');
我假设id
列是自动递增的列。
答案 1 :(得分:0)
您可以在现在使用的同一查询中一次插入多行。只需添加一个逗号,并输入更多值:
Insert into myTable values ('field1-var1','field2-var2'), ('field1-var2','field2-var2') ..
答案 2 :(得分:0)
$combain = array_merge($cat , $proid);
for($i = 0; $i <count($combain); $i++ )
{
if(isset($proid[$i])) {
$product_id = $proid[$i];
}
else{
$product_id = "''";
}
if(isset($cat[$i])){
$category_id = $cat[$i];
}
else{
$category_id = "''";
}
if(!empty($cat[$i]) || !empty($proid[$i])) {
@$values[] ="('',". $blogid.",".$category_id.",".$product_id.","."'".$updated_by."'".",now())";
}
}
$query = $this->db->query("insert into blog_details (id , blog_id , cat_id, pro_id, updated_by , created_date) values" . implode(',', $values));