我有问题。我有设置表(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');...
等。如何在没有多个查询的情况下更新表格中的数据?
答案 0 :(得分:1)
UPDATE
仅支持一个WHERE
条件,因此不适合您想要的内容。但是,如果您有行的ID(我假设ID是主键),您可以这样做:
INSERT INTO settings (ID, value) VALUES (id1, value1) (id2, value2) ...
ON DUPLICATE KEY UPDATE value = VALUES(value)
答案 1 :(得分:0)
查看UPDATE语句的语法
通常你可以写UPDATE <table> SET <col1> = <val1>, <col2> = <val2> ... WHERE ...