MySQL重复键处理的更新
MySQL具有语法插入....在重复键更新...
上。但是update
命令似乎没有等效性。我知道更新忽略
语法,但这并不是我想要的。
是否可以使用更新之类的内容。
MySQL has syntax INSERT .... ON DUPLICATE KEY UPDATE ...
. But it seems no equivalence for Update
command. I know Update IGNORE
syntax but it's not exactly what I'm looking for.
Is it possible to have something like Update .... ON DUPLICATE KEY UPDATE ...
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没有单个SQL语句为您完成此逻辑。
解决方法是首先尝试简单的更新:
可能会返回重复的密钥错误,因为更改为电子邮件会导致在唯一的密钥约束上发生冲突。您应该在代码中捕获异常,然后尝试:
它是正常的,并且期望编写应用程序代码以进行自定义逻辑,作为代码中的例外处理分支。
There is no single SQL statement that does this logic for you.
A workaround is to simply try the simple UPDATE first:
That may return a duplicate key error because of the change to email results in a conflict on a UNIQUE KEY constraint. You should catch the exception in your code, and then try instead:
It's normal and expected to write application code to do custom logic like this, as an exception handling branch in your code.