如何仅用一个查询更新一个 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')
我的 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')