我每天都有一个脚本将我的CSV文件上传到MySQL,我得到了更新。但是,让我说我正在导入,我的同事认为我没有这样做并再次导入它。但我希望MySQl跳过他导入的行,因为数据已存在。我尝试了IGNORE
和REPLACE
,但我没有得到我想要的结果。
if ($_FILES[csv][size] > 0) {
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
do {
if ($data[0]) {
mysql_query("INSERT IGNORE INTO cdl_genesys_login (EMP_ID, NAME, MANAGER, TYPE, START_TIME, END_TIME, TIMEZONE, DURATION, STATE, REASON_KEY, DATE) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."',
'".addslashes($data[3])."',
'".addslashes($data[4])."',
'".addslashes($data[5])."',
'".addslashes($data[6])."',
'".addslashes($data[7])."',
'".addslashes($data[8])."',
'".addslashes($data[9])."',
'".addslashes($data[10])."'
)
") OR die (mysql_error());
}
} while ($data = fgetcsv($handle,1000,",","\""));
header('Location: import_.php?success=1'); die;
}