在更新期间向MySQL插入多行。 [不要插入重复的记录]

时间:2015-07-05 08:54:28

标签: php mysql dynamic

我有一个更新现有数据的update.php表单。我的问题是当我想提交并且我的表单的一部分是动态的,所以他们可以在更新时向mysql添加一个新行,所以我一直在MySQL中获得重复的动态行,这些行是之前提交的。

$i = 0;
while($i<count($fromhours)){
$fromhours[$i]= $fromhours[$i];
$fromminutes[$i]= $fromminutes[$i];
$tohours[$i]= $tohours[$i];
$tominutes[$i]= $tominutes[$i];
$resulthours[$i]= $resulthours[$i];
$resultminutes[$i]= $resultminutes[$i];
$hrscode[$i]= $hrscode[$i];
$gremark[$i]= $gremark[$i];
$query = "INSERT INTO `generalreport` ( 
    `ID`, `date`, `fromhours`, `fromminutes`, `tohours`, `tominutes`, `resulthours`, `resultminutes`, `code`, `remark`
    ) VALUES (
    '".$id."',
    '".$date."',
    '".$fromhours[$i]."',
    '".$fromminutes[$i]."',
    '".$tohours[$i]."',
    '".$tominutes[$i]."',
    '".$resulthours[$i]."',
    '".$resultminutes[$i]."',
    '".$hrscode[$i]."',
    '".$gremark[$i]."'
    );";  

mysql_query($query);          
$i++;  
};

如何使用此代码进行更新,只需在MySQL中插入新数据,旧数据就不会重复。

2 个答案:

答案 0 :(得分:0)

我认为你必须在mysql中索引你的表,这样如果任何新数据输入有任何类似的日期和条目,mysql将自动弹出重复的条目错误

答案 1 :(得分:0)

使用

INSERT INTO `generalreport` ( 
`ID`, `date`, `fromhours`, `fromminutes`, `tohours`, `tominutes`, `resulthours`, `resultminutes`, `code`, `remark`
) VALUES (...),(...),(...)