INSERT INTO ... ON DUPLICATE KEY UPDATE不更新PHP和mySQL中的重复值

问题描述 投票:-4回答:2

我正在尝试使用函数qazxsw poi在mySQL表中插入一些数据。如果已经有用户注册了相同的电子邮件,我想更新这些值。

所以我在搜索了这个讨论之后实现了下面的代码:INSERT INTO ... ON DUPLICATE KEYlink-1和其他链接......

我也看了手册link-2

link-4

实际上,代码可以正确插入新用户。但是,如果我尝试更新已存在的用户,则会创建新记录。所以我有两个用户使用相同的电子邮件注册(如果已经有表中的电子邮件,我需要更新用户)

我希望这个问题符合标准,我已经完成了stackoverflow的所有研究,但没有一个答案可以帮助我。所以请不要将我的问题标记为重复。

附:我实际上是一名没有编码经验的网页设计师,这个项目超出了我的能力范围。但不幸的是,我必须解决这个问题。谢谢。

php mysql sql-update sql-insert
2个回答
1
投票

列电子邮件应该是UNIQUE。

$query=mysqli_query($conn,"INSERT INTO theElisa_signUp (name, email, telephone, user, psw, role, expire_date)
VALUES ('$name', '$email', 'not-set', '$username', '$password', '$role', '$expire_date')
ON DUPLICATE KEY
UPDATE name = '$name', user ='$username', psw = '$password', expire_date = '$expire_date' ");

0
投票

你可以使用两个查询ALTER TABLE `theElisa_signUpADD` UNIQUE (email);

here's reference
© www.soinside.com 2019 - 2024. All rights reserved.