2011-03-17 125 views
3

我有一個表中的用戶列表,其中包含第一個,中間和最後一個名稱的單獨字段。由於各種原因,我需要更改數據庫結構,使得只有一個「名稱」字段。將我的數據從3箇舊字段遷移到我的一個新字段中的最佳/最簡單的方法是什麼?在MySQL中將多個文本字段合併爲一個

+0

??? MySQL接受的答案在MySQL中不起作用 - MySQL使用'CONCAT()',而不是'+',MySQL使用'IFNULL'而不是'ISNULL' – RichardTheKiwi 2011-03-17 02:38:55

回答

4

首先添加比所有3個組合更長的列。

alter table tbl add fullname varchar(100); 

接下來,與concat耳突舊列的更新。

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

(這個形式 '柯克,約翰·M' 結束)

然後,刪除您沒有使用MYSQL舊列

alter table tbl drop column firstname; 
alter table tbl drop column middlename; 
alter table tbl drop column lastname; 
1
UPDATE Users SET FullName = FirstName + ' ' + MiddleName + ' ' + LastName 
0
UPDATE Users SET Fullname = CONCAT(Firstname, " ", MiddleName, " ", LastName); 
0

使用 '表達+表達式' 表達應該是非NULL串聯。