我必须多次插入一组数据,比如n行。
INSERT INTO MyTable VALUES ("John", 123, "US");
我可以在一个SQL语句中插入所有n行吗?
这里n
是动态值n是用户输入,如何进行n次插入查询,任何想法。
$sql = "INSERT INTO `mytable` VALUES(`field1`,`field2`,`date`) VALUES ";
$count = 5;
for($i=0;$i<$coutn;$i++)
{
if($type=="daily")
{
$st=date('Y-m-d H:i:s', strtotime('+1 day', strtotime('$st')));
}
else if($type=="monthly")
{
$st=date('Y-m-d H:i:s', strtotime('+30 day', strtotime('$st')));
}
$sql .= " ('john','123','$st' )";
}
这是正确的方法..
答案 0 :(得分:0)
你可以这样做:
$sql = "INSERT INTO `mytable` VALUES(`field1`,`field2`,`date`) VALUES ";
$count = 5;
$arr = array();
for($i=0;$i<$coutn;$i++)
{
if($type=="daily")
{
$st=date('Y-m-d H:i:s', strtotime('+1 day', strtotime('$st')));
}
else if($type=="monthly")
{
$st=date('Y-m-d H:i:s', strtotime('+30 day', strtotime('$st')));
}
$arr[] = " ('john','123','$st' )";
}
$sql .= implode(',', $arr);