引言
使用不同的值更新多行记录可能具有挑战性,尤其是在复杂的WHERE条件下。本文旨在通过详细解释两种最常用的方法来简化此过程:多语句查询和条件更新。
方法一:多语句查询
多语句查询允许您在一个查询中执行多个UPDATE命令。虽然此方法简单直接,但对于大型数据集而言,它可能会变得笨拙。您提供的示例可以按如下方式实现:
<code class="language-sql">UPDATE table_users SET cod_user = '622057', date = '12082014' WHERE user_rol = 'student' AND cod_office = '17389551'; UPDATE table_users SET cod_user = '2913659', date = '12082014' WHERE user_rol = 'assistant' AND cod_office = '17389551'; UPDATE table_users SET cod_user = '6160230', date = '12082014' WHERE user_rol = 'admin' AND cod_office = '17389551';</code>
方法二:使用CASE语句的条件更新
条件更新允许您根据条件对不同的行应用不同的值。您提供的示例可以改写如下:
<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 = '12082014' WHERE user_role IN ('student', 'assistant', 'admin') AND cod_office = '17389551';</code>
此方法比多语句查询更有效率,尤其是在大型数据集的情况下。它还提供了一种更简洁、更清晰的方式来更新多行记录。
注意:
务必以一致的、数据库原生格式存储日期,以避免潜在问题。
以上是如何高效地更新具有不同值的多个 MySQL 行?的详细内容。更多信息请关注PHP中文网其他相关文章!