mysql - 在 MySQL 中将多个文本字段合并为一个

标签 mysql sql

我在一个表中有一个用户列表,其中包含名字、中间名和姓氏的单独字段。由于各种原因,我需要更改数据库结构,以便只有一个“名称”字段。将我的数据从 3 个旧字段迁移到一个新字段的最佳/最简单方法是什么?

最佳答案

首先添加一个比所有 3 个加起来还长的列。

alter table tbl add fullname varchar(100);

接下来,用 concatenation 更新它旧列的。

update tbl set fullname = concat(lastname, ', ', firstname, ' ', middlename)

(以“Kirk, John M”的形式结束)

然后,删除旧的列

alter table tbl drop column firstname;
alter table tbl drop column middlename;
alter table tbl drop column lastname;

关于mysql - 在 MySQL 中将多个文本字段合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5334166/

相关文章:

sql - 如何获取每个空值的行号?

mysql - 根据另一列中给出的季度查询列中的四分之一百分比

mysql - 我想解密一个Sql数据库

mysql - SQL 将多行计数为一个查询

mysql - 数据库对外关系

mysql - SQL:通过SQL-Query获取电表每天/每周/每月的消耗量

sql - 在 Oracle SQL 中声明要在查询中使用的变量

sql - 给定一个日期,如何获取数据库中的下一个和上一个日期

Mysql 联系电话中去掉0并添加353

mysql - Rails 3.1 - Heroku 上 mySQL 和 PostgreSQL 之间巨大的查询时间差异