首页 > 解决方案 > 如何使用 MySQL 中同一记录中的字段值有条件地更新记录?

问题描述

我有一个表格,用户可以在其中更新他们的信息。现在我使用查询来执行更新:

UPDATE `bdusertable` SET `name`= ?, `nickname`= ?, `gender`= ?, `birthday`= ?, `email`= ?, `password`= ?  WHERE `usercod`= ?

但我有一个帐户验证方案。我必须阻止用户在验证帐户时更新某些数据。

验证字段可能有 3 个值:

0 = not verified
1 = verified by a moderator
2 = verified by an administrator

我想做这样的事情:

UPDATE `bdusertable` SET (`name`= ?, `gender`= ?, `birthday`= ?) IF `verified` = 0 , `nickname`= ?, `email`= ?, `password`= ?  WHERE `usercod`= ?

只要用户未经过验证,他就可以更新任何字段。但如果经过验证,您不能更改最重要的字段。

有谁能够帮我?

标签: mysql

解决方案


推荐阅读