我有一个脚本可以将我的 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;
}