0

我有个问题。我有很多网站设置的设置表(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');...

等等。如何在不进行多次查询的情况下更新表中的数据?

4

2 回答 2

1

UPDATE只支持一个WHERE条件,所以不适合你想要的。但是,如果你有行的 ID(我假设 ID 是主键),你可以这样做:

INSERT INTO settings (ID, value) VALUES (id1, value1) (id2, value2) ...
ON DUPLICATE KEY UPDATE value = VALUES(value)
于 2013-08-02T08:22:26.210 回答
0

查看 UPDATE 语句的语法

通常你可以写

UPDATE <table> SET <col1> = <val1>, <col2> = <val2> ... WHERE ...

类似的帖子在这里

于 2013-08-02T08:19:01.807 回答