我在一个表中有一个用户列表,分别有名字,中间名和姓氏的字段。由于各种原因,我需要更改数据库结构,以使只有一个“名称”字段。将数据从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;
UPDATE Users SET FullName = FirstName + ' ' + MiddleName + ' ' + LastName
UPDATE Users SET Fullname = CONCAT(Firstname, " ", MiddleName, " ", LastName);
使用'表达+表达'表达式应为非NULL。