INSERT ... ON DUPLICATE KEY UPDATE不起作用

时间:2015-05-25 10:38:18

标签: mysql

首先,我是编码的新手。我尝试“插入,如果没有其他更新”我的数据库。我使用下面的代码:

$query = "     
          INSERT INTO offers ( user_i , startPoli_i , finalPoli_i ,depDay_i , onoma_pro , epitheto_pro , prosfora , comments_pro ,string_uniq) 
       VALUES ( :u1 , :sP1, :fP1 ,:dD1, :op, :ep , :p , :cp , :su) 
       ON DUPLICATE KEY UPDATE
      string_uniq = :su
       "; 


    $query_params = array(
        ':u1' => $_POST['user_i'],
        ':sP1' => $_POST['startPoli_i'],
         ':fP1' => $_POST['finalPoli_i'],
        ':dD1' => $_POST['depDay_i'],
        ':op' => $_POST['onoma_pro'],
        ':ep' => $_POST['epitheto_pro'],
        ':p' => $_POST['prosfora'],
        ':cp' => $_POST['comments_pro'],
        ':su' => $_POST['string_unique']
    );

我声明'string_uniq'列是唯一的。我的表格使用MyISAM。问题:当":su"值与现有值column 'string_uniq'相同且example ":p"值不同时,不会发生更新。任何建议;提前致谢

1 个答案:

答案 0 :(得分:0)

我相信你需要添加你想要更新的字段,如:

 ON DUPLICATE KEY UPDATE
      string_uniq = :su, prosfora = :p