gpt4 book ai didi

mysql - 在重复键更新语法上仍然重复我的数据

转载 作者:行者123 更新时间:2023-11-29 06:55:00 25 4
gpt4 key购买 nike

我知道可能有人问过这个问题,但我尝试使用在这里找到的解决方案,但它们对我不起作用。如果电子邮件列存在,我需要更新数据库中的数据,如果不存在,则应该插入新记录。下面是我的代码。

       <?php

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db = 'mbf';

$dbconn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($db);



$dat = date("Y-m-d H:i:s");
$date = new DateTime();
$date->modify('+4 weeks');


if(isset($_POST['submit'])) {

$email = $_POST['email'];

$dat = $_POST['date'];
$ghdate = $_POST['ghdate'];
$amount = $_POST['amount'];
$iniamount = $_POST['iniamount'];
$outamount = $_POST['outamount'];
$ghamount = $_POST['ghamount'];




$query = "INSERT INTO donation (email, date, ghdate, amount,
inamount, outamount, ghamount) VALUES ('$email', '$dat',
'$ghdate','$amount',
'$iniamount', '$outamount', '$ghamount')
ON DUPLICATE KEY UPDATE
email='$email', date='$dat', amount='$amount', inamount='$iniamount',
outamount='$outamount', ghamount='$ghamount'";


if(mysql_query($query))
{
echo "<script>alert('Donation of $amount was successful');</script>";
}
else
{
echo "<script>alert('FAILED TO INSERT');</script>";
}

}


?>

它不会更新电子邮件列,而是插入新记录。

最佳答案

ON DUPLICATE KEY UPDATE 语句仅在任何字段值违反 UNIQUE/PRIMARY KEY 约束时才有效。确保电子邮件字段在表架构中具有 UNIQUE 约束。

关于mysql - 在重复键更新语法上仍然重复我的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45988599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com