使用单个MySQL查询更新多行不同值
在MySQL中更新多行且每行值不同的操作看似复杂,但理解之后其实很简单。以下是操作方法:
以下示例代码尝试根据特定条件更新'table_users'表中的三行,'cod_user'和'date'字段的值各不相同。为此,我们将使用带有'CASE'和'IN'语句的'UPDATE'语句。
以下查询执行这些更新:
<code class="language-sql">UPDATE table_users SET cod_user = (CASE WHEN user_role = 'student' THEN '622057' WHEN user_role = 'assistant' THEN '2913659' WHEN user_role = 'admin' THEN '6160230' END), date = '2014-08-12' WHERE user_role IN ('student', 'assistant', 'admin') AND cod_office = '17389551';</code>
查询分解:
请注意,示例中使用的日期格式并不推荐。最佳实践是将日期存储为原生日期类型(例如 YYYY-MM-DD)。
以上是如何在单个 MySQL 查询中更新具有不同值的多行?的详细内容。更多信息请关注PHP中文网其他相关文章!