【问题标题】:Replace same character in multiple columns in MySQL替换MySQL中多列中的相同字符
【发布时间】:2016-09-28 20:14:02
【问题描述】:

我想对列 field01 到 field39 运行此基本替换,而不需要 39 个查询:

UPDATE leads
    SET field01 = REPLACE(field01, ' ', '+')
     WHERE field40 = 'in_process';

如果用 PHP 更容易运行,那很好。

【问题讨论】:

    标签: mysql replace


    【解决方案1】:

    您可以在单个查询中设置多个列:

    UPDATE leads
        SET field01 = REPLACE(field01, ' ', '+'),
            field02 = REPLACE(field02, ' ', '+'),
            . . .
            field39 = REPLACE(field39, ' ', '+')
        WHERE field40 = 'in_process';
    

    输入代码很麻烦,您可以使用电子表格生成代码。

    我不应该认为有几十个列包含相似的信息通常是糟糕的数据库设计的标志。您很有可能需要一个联结表,每个潜在客户和字段值有一行。

    【讨论】:

    • 感谢您提供明显的省时解决方案。 (我自以为没想过这样做。)然而,我实际上希望有某种 LOOP 或 PHP 代码可以一次完成整个过程。注意:这些不是相似的列。但是,它们有用户输入的“空格”,需要在发布到另一台服务器之前成为加号 (+)。
    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 2011-12-05
    • 1970-01-01
    • 2020-08-31
    • 2013-12-16
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多