如何仅用一个查询更新一个 table 列中的多个值?

How to update multiple values in one table column with just one query?

我的 jwqt5_rsform_submission_values table 有一列 FieldValue 有两个值,我想分别更改它们。

我想将 value1 更改为 firstvalue,将 value2 更改为 secondvalue

我的PHP/Joomla代码:

$db = JFactory::getDbo();
$db->setQuery("UPDATE `jwqt5_rsform_submission_values` SET `FieldValue` = 'firstvalue' WHERE `FieldValue` = 'value1'");
return $db->loadResult();

$db1 = JFactory::getDbo();
$db1->setQuery("UPDATE `jwqt5_rsform_submission_values` SET `FieldValue` = 'secondvalue' WHERE `FieldValue` = 'value2'");
return $db1->loadResult();

这个更新可以在单个查询中执行吗?

您可以这样组合查询:

UPDATE jwqt5_rsform_submission_values
SET FieldValue = CASE FieldValue
    WHEN 'value1' THEN 'firstvalue'
    WHEN 'value2' THEN 'secondvalue'
END
WHERE FieldValue IN ('value1', 'value2')