mysql更新如果存在,则插入

时间:2014-12-03 05:24:55

标签: php mysql

在我的表单中,我有通过添加更多点击按钮动态生成的文件类型输入字段。 一切都很好,当我插入数据但我更新第二个表时遇到问题 我只使用商店文件类型数据。

我已经分析了一些案例:

Case 1: if value exist is equal to new value then update
Case 2: if value not exist then insert data
Case 3: if value exist and greater than previous value then update the previous value and insert new data
case 4: if value exist and less than previous value then update previous and other value will be remain same(no change). 

到目前为止,我已尝试 $array_filename = trim($array_filename, ","); $filename_array = explode(',', $array_filename); $query = mysql_query("SELECT * FROM tbl_name_2 WHERE job_app_id ='$editId' "); $res = mysql_fetch_array($query); for($i=0;$i<coun($filename_array);$i++) { $insertQuery = "REPLACE INTO tbl_name_2 ( id , job_app_id , file_name ) VALUES ('$res[$i]','$editId','$filename_array[$i]')"; $isInsert = mysql_query($insertQuery) or die(mysql_error()); } < / p>


1 个答案:

答案 0 :(得分:0)

  

mysql update如果存在,则插入

应该更好地描述为 INSERT ELSE UPDATE - 以及ON DUPLICATE KEY UPDATE个关键字和正确的唯一键约束(假设uniqueKey)列是唯一的):

INSERT INTO 
   myTable (`id`, `uniqueKey`, `value2`) VALUES (null,"test1",17) 
ON DUPLICATE KEY UPDATE 
   value2 = 17;

这涵盖了您的案例12:数据已插入或更新。

对于你的案例34,目前还不清楚,你在问什么?这些陈述似乎是针对多个表格,或者更新以前的值并插入新数据是什么意思?