繁体   English   中英

如何使用相同的字段名更新多个mysql数据库行?

[英]How to update multiple mysql database rows with same field names?

我正在尝试更新所有共享相同字段名称的多行。

结构如下:

+---+-------+--------+
|id | name  | value  |
+---+-------+--------+
| 1 | color | red    |
| 2 | fruit | apple  |
| 3 | day   | friday |
+---+-------+--------+

所以,像:

$config_data = "UPDATE system_config SET color = '$_POST[color]', fruit = '$_POST[fruit]', day = '$_POST[day]'";

$success = mysql_query($config_data);

... 不管用。 我该如何执行此查询?

尝试

$config_data = "UPDATE system_config SET value = '$_POST[color]' WHERE name = 'color';";
$success = mysql_query($config_data);
$config_data = "UPDATE system_config SET value = '$_POST[fruit]' WHERE name = 'fruit';";
$success = mysql_query($config_data);
$config_data = "UPDATE system_config SET value = '$_POST[day]' WHERE name = 'day'";
$success = mysql_query($config_data);

相反。在这种情况下,有必要加入更多查询

您可能不会只在一个查询中执行此操作。

mysql_query()向与指定link_identifier关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询)。

http://cl.php.net/manual/en/function.mysql-query.php

如果你想“一次性”进行多个查询,你可以使用mysqli_multi_query

更多文档: http//se2.php.net/manual/en/mysqli.multi-query.php

update system_config
set value =
case 
when name = 'color' then 'something1'
when name = 'fruit' then 'something2'
when name = 'day' then 'something3'
else value
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM