设为首页收藏本站

融智技术学院

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 360|回复: 0

【数据库每日一问】MySQL的合并两列,并添加到一个新列

[复制链接]
MrLi 发表于 2014-2-12 13:00:04 | 显示全部楼层 |阅读模式

问:
我有一个MySQL表的结构如下:
  1. + ----------------+----------------+----------+
  2. |     zipcode      |       city       |    state   |
  3. + ----------------+----------------+----------+
  4. |      10954       |      Nanuet      |     NY     |
  5. + ----------------+----------------+----------+
复制代码

我想把上述3列合并成一列是这样的:
  1. +---------------------+
  2. |      combined       |
  3. +---------------------+
  4. | 10954 - Nanuet, NY  |
  5. +---------------------+
复制代码
我想这个“组合列”列添加到表的末尾,不破坏原有的3个字段。
答:
创建列:
  1. alter table add column combined varchar(50);
复制代码

更新当前值:
  1. update table set combined = concat(zipcode, ' - ', city, ', ', state);
复制代码

自动更新所有未来值:
  1. create trigger insert_trigger
  2. before insert on table
  3. for each row
  4. set new.combined = concat(new.zipcode, ' - ', new.city, ', ', new.state);

  5. create trigger update_trigger
  6. before update on table
  7. for each row
  8. set new.combined = concat(new.zipcode, ' - ', new.city, ', ', new.state);
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

新突破电商

小黑屋|手机版|Archiver|融智技术学院 ( 京ICP备09018999号  

GMT+8, 2018-6-21 14:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表