我有一个问题。我有设置表(ID、参数、名称),其中包含许多站点设置。当我尝试更新设置时,我会这样做(亲自针对每个参数):
...$sql = "UPDATE settings SET `value` = ? WHERE param = ?";
$DB->query($sql, $_POST['SITE_NAME'], 'SITE_NAME');
$sql = "UPDATE settings SET `value` = ? WHERE param = ?";
$DB->query($sql, $_POST['SITE_DESC'], 'SITE_DESC');...
等等。如何在不进行多次查询的情况下更新表中的数据?
最佳答案
UPDATE
仅支持一个 WHERE
条件,因此不适合您想要的。但是,如果您有行的 ID(我假设 ID 是主键),您可以这样做:
INSERT INTO settings (ID, value) VALUES (id1, value1) (id2, value2) ...
ON DUPLICATE KEY UPDATE value = VALUES(value)
关于php - MySQL 多次更新 : many queries equivalent without foreach(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18011939/