2015-10-22 45 views
0

我想插入CONTENT_VALUES如果survey_Id不存在于表中。如果该值已存在,我想更新CONTENT_VALUESSURVEY_ID插入检查duplidate键后的值

$sql="insert into `$prefix.survey_question` (SURVEY_ID, CONTENT_VALUES, USER_ID, CREATED_ON)values('$sur_id','$content_val','$email','$now') on duplicate key update CONTENT_VALUES=values('$content_val')"; 
    $query1=mysql_query($sql) 
+0

什么是'$ query1 = mysql_query(“CONTENT_VALUES”)'? – Typoheads

回答

2

您需要正确删除设定值的语音标记,并纠正CONTENT_VALUES更新,并触发查询:

$query1= "insert into `$prefix.survey_question` 
    (SURVEY_ID, CONTENT_VALUES, USER_ID, CREATED_ON) 
values 
    ('$sur_id','$content_val','$email','$now') 
on duplicate key 
update CONTENT_VALUES=('$content_val'), 
     USER_ID = '$email', 
     CREATED_ON = '$now'"; 
    $resultset=mysql_query($query1); 

还应考虑使用PDO超过mysql扩展。

+0

再次插入线索 – user3386779

+0

您需要将'SURVEY_ID'设置为主键才能触发重复键更新,否则不会有重复的键存在,并且会再次插入。 –

+0

'alter table $ prefix.survey_question添加主键(SURVEY_ID)' –

0

您可以使用插入忽略查询,如果插入的记录重复,则查询结果将为零,然后继续更新。