【问题标题】:Stored Procedure - To update all columns of table with a single value '1' in a single query存储过程 - 在单个查询中使用单个值“1”更新表的所有列
【发布时间】:2012-07-17 06:23:05
【问题描述】:

我有一个表,其中包含近 40 个字段。我想在单个查询中使用单个值(即 1)更新所有这些字段,并且我不想在更新查询中指定每一列。

谁能帮帮我?

【问题讨论】:

  • 哪个数据库?你试过什么?帮助我们帮助你...
  • 我有 InnoDB ..我尝试过.. 我不知道它是否可以完成..?

标签: php stored-procedures triggers


【解决方案1】:

你可以试试:

$sql = "SHOW COLUMNS FROM sometable";
$fields = mysql_fetch_array(mysql_query($sql));

应该帮助你从表中检索列名,并将它们存储在一个数组中。

 $field_string = implode("='1', ", $fields);

将数组更改为字符串并将"=1" 添加到其中。然后您可以这样运行您的查询:

 $sql = "UPDATE sometable SET {$field_string}";

【讨论】:

  • 是的..thannx..很有帮助..我做了一些类似的事情。
【解决方案2】:

根据MySql UPDATE spec,如果不详细说明要更新哪些列,您似乎无法做到。

【讨论】:

    猜你喜欢
    • 2017-04-26
    • 2019-12-03
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多