2011-10-01 70 views
0

我運行一個表下面的查詢,其將名字和每個人在該表的名稱列名分成名字和姓氏:如何添加將列分成兩列的MySQL查詢結果到表中?

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1) as Firstname, 
     SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 2), ' ', -1) as Lastname 
FROM conference; 

這工作得很好。現在我想將這個結果添加到表中的兩個新列中,我稱其爲Firstname和Lastname。

我試着將INSERT conference [Firstname, Lastname]添加到查詢的開頭,但是那樣會產生一個錯誤。有人可以幫助正確的做法嗎?

感謝,

尼克

+0

實際上,您是不是想要使用新字段更新表格會議中的現有行? –

+0

是的,這就是我需要做的 – Nick

回答

1

如果你的目的是更新這些新領域的現有行,而不是插入新記錄,這應該工作

UPDATE Conference 
SET 
    Firstname = SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1), 
    Lastname = SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 2), ' ', -1) 
+0

謝謝,這工作得很好! – Nick

0

你嘗試過:

select SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1) as Firstname, 
     SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 2), ' ', -1) as Surname 
into conference 
from conference 
+0

這會產生錯誤:未聲明的變量:會議 – Nick

相關問題