【发布时间】:2019-04-02 11:06:37
【问题描述】:
我正在尝试使用函数INSERT INTO ... ON DUPLICATE KEY 在 mySQL 表中插入一些数据。
如果已经有用户注册了相同的电子邮件,我想更新这些值。
所以我在这个讨论中搜索后实现了下面的代码: link-1、link-2等链接...
我也看了说明书link-4
$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' ");
其实代码可以正确插入新用户。 但是,如果我尝试更新已经存在的用户,它会创建一条新记录。所以我有两个用户注册了同一个电子邮件(如果表中已经有电子邮件,我需要更新用户)
我希望这个问题尊重标准,并且我已经完成了 stackoverflow 中的所有研究,但没有一个答案可以帮助我。 所以请不要将我的问题标记为重复。
附:我实际上是一个网页设计师,编码经验为零,这个项目超出了我的能力范围。但不幸的是,我必须解决这个问题。 谢谢。
【问题讨论】:
-
使
email列独一无二 -
桌子的钥匙是什么?
-
电子邮件列是否唯一?
-
嗨,所以我可能真的是菜鸟。所以现在我已将电子邮件设置为在我的表中唯一(我也有一个主键为
id,但是这个,现在没有必要)。
标签: php mysql sql-update sql-insert