我有一个表用户。我希望仅根据某些条件更新列电子邮件。
update users set email='$email' where uid='$uid'
(我希望仅在没有包含相同电子邮件 ID 的其他记录时更新表用户)
我有一个表用户。我希望仅根据某些条件更新列电子邮件。
update users set email='$email' where uid='$uid'
(我希望仅在没有包含相同电子邮件 ID 的其他记录时更新表用户)
在创建表时,您需要将电子邮件列设为唯一,这样它就不允许您插入重复的值。现在您可以使用上述查询,这样表中的电子邮件列中就不会出现重复的电子邮件
如果对不将电子邮件字段/列标记为唯一没有任何限制,那么您可能应该这样做。然后,当出现重复条目时,您将收到一个可以处理的错误。
否则,如果我正确理解您的问题,您需要查询来更新给定 UID 的电子邮件,并且仅当电子邮件尚未在任何记录的表中时。如果是这样的话,那么应该这样做:
update users
set email='$email'
where uid='$uid' and (select count(1) from users where email='$email') < 1
希望这可以帮助!