【发布时间】:2012-07-17 06:23:05
【问题描述】:
我有一个表,其中包含近 40 个字段。我想在单个查询中使用单个值(即 1)更新所有这些字段,并且我不想在更新查询中指定每一列。
谁能帮帮我?
【问题讨论】:
-
哪个数据库?你试过什么?帮助我们帮助你...
-
我有 InnoDB ..我尝试过.. 我不知道它是否可以完成..?
标签: php stored-procedures triggers
我有一个表,其中包含近 40 个字段。我想在单个查询中使用单个值(即 1)更新所有这些字段,并且我不想在更新查询中指定每一列。
谁能帮帮我?
【问题讨论】:
标签: php stored-procedures triggers
你可以试试:
$sql = "SHOW COLUMNS FROM sometable";
$fields = mysql_fetch_array(mysql_query($sql));
应该帮助你从表中检索列名,并将它们存储在一个数组中。
$field_string = implode("='1', ", $fields);
将数组更改为字符串并将"=1" 添加到其中。然后您可以这样运行您的查询:
$sql = "UPDATE sometable SET {$field_string}";
【讨论】:
根据MySql UPDATE spec,如果不详细说明要更新哪些列,您似乎无法做到。
【讨论】: