Mysql 在重复钥匙上工作不正常
我正在运行以下查询,但得到一个错误。我认为它来自重复键上的Mysql 在重复钥匙上工作不正常,mysql,on-duplicate-key,Mysql,On Duplicate Key,我正在运行以下查询,但得到一个错误。我认为它来自重复键上的部分,但我不能100%确定正确的语法是什么 <?php $form_id = $form->data['form_id']; $cfid = $form->data['cf_id']; $datesent = $form->data['datesent']; $query = mysql_query(" INSERT INTO `email_history` ( `cf_id` , `$form_id` )
部分,但我不能100%确定正确的语法是什么
<?php
$form_id = $form->data['form_id'];
$cfid = $form->data['cf_id'];
$datesent = $form->data['datesent'];
$query = mysql_query("
INSERT INTO `email_history` (
`cf_id` ,
`$form_id`
)
VALUES (
'$cfid', '$datesent'
)
ON DUPLICATE KEY
UPDATE INTO
`email_history` (
`$form_id`
)
VALUES (
'$datesent'
);
") or die(mysql_error());
?>
的正确语法如下所述
请注意,这只是一个示例代码段,但应该清楚为什么您提供的代码段无法执行
INSERT INTO tbl (
col1, col2, ... , colN
) VALUES (
@val1, @val2, ..., @valN
) ON DUPLICATE KEY UPDATE
col3 = VALUES(col3), col4 = @val4
文档
在我的代码中会是什么样子?
$form\u id=$form->data['form\u id'];
$cfid=$form->data['cf_id'];
$datesent=$form->data['datesent'];
$query=mysql\u query(的正确语法如下所述
请注意,这只是一个示例代码段,但应该清楚为什么您提供的代码段无法执行
INSERT INTO tbl (
col1, col2, ... , colN
) VALUES (
@val1, @val2, ..., @valN
) ON DUPLICATE KEY UPDATE
col3 = VALUES(col3), col4 = @val4
文档
在我的代码中会是什么样子?
$form\u id=$form->data['form\u id'];
$cfid=$form->data['cf_id'];
$datesent=$form->data['datesent'];
$query=mysql\u query(对于这种类型的查询,允许的语法中没有'into',更新部分本身是错误的。您在SQL-query末尾有一个额外的);
。对于这种类型的查询,允许的语法中没有'into',更新部分本身是错误的。您有一个额外的)。
$form_id = $form->data['form_id'];
$cfid = $form->data['cf_id'];
$datesent = $form->data['datesent'];
$query = mysql_query (<<<EOT
INSERT INTO `email_history` (`cf_id`, `$form_id`)
VALUES ('$cfid', '$datesent')
ON DUPLICATE KEY UPDATE `$form_id` = VALUES(`$form_id`)
EOT
) or die (mysql_error ());