开发者社区 问答 正文

MySQL合并两列并添加到新列中?mysql

我的MySQL表具有以下结构:

+----------------+----------------+----------+ | zipcode | city | state | +----------------+----------------+----------+ | 10954 | Nanuet | NY | +----------------+----------------+----------+ 我想将以上三列合并为一列,如下所示:

+---------------------+ | combined | +---------------------+ | 10954 - Nanuet, NY | +---------------------+ 我想将此“组合”列添加到表的末尾而不破坏原始的3个字段。

展开
收起
保持可爱mmm 2020-05-17 21:06:35 1154 分享 版权
1 条回答
写回答
取消 提交回答
  • 创建列:

    ALTER TABLE yourtable ADD COLUMN combined VARCHAR(50); 更新当前值:

    UPDATE yourtable SET combined = CONCAT(zipcode, ' - ', city, ', ', state); 自动更新所有未来值:

    CREATE TRIGGER insert_trigger BEFORE INSERT ON yourtable FOR EACH ROW SET new.combined = CONCAT(new.zipcode, ' - ', new.city, ', ', new.state);

    CREATE TRIGGER update_trigger BEFORE UPDATE ON yourtable FOR EACH ROW SET new.combined = CONCAT(new.zipcode, ' - ', new.city, ', ', new.state);来源:stack overflow

    2020-05-17 21:13:07
    赞同 展开评论