2017-09-05 31 views
0

我有一個簡單的問題,這是造成我的問題MySQL的選擇3個字符和替換

我在用mysql的名字一欄,我想通過在名稱的前三個字符替換這些。 因此,比如'Jacob' - >'Jac'。

我知道LEFT命令,它可以爲我做到這一點,但我似乎無法用輸出更新列。就像我可以做一個選擇,然後得到正確的輸出,但我不能更新與輸出:(

我試圖所需的列:

REPLACE INTO mytable(shortnames) SELECT LEFT(names,3) FROM mytable; 
+1

向我們展示select查詢和您試過的更新查詢 – RiggsFolly

+0

'replace into'語句插入新記錄,或者在發生重複衝突的情況下,刪除舊記錄並插入新記錄。 – Shadow

回答

2

我想你需要

UPDATE mytable SET names = LEFT(names,3); 
+0

非常感謝! – 12344343243

+0

沒問題。如果它解決了您的問題,請考慮將此標記爲答案。謝謝 – kinggs

0

這可以用一個簡單的UPDATE查詢

UPDATE table SET names = LEFT(names,3) 

做不過它可能是創建另一個關口是個好主意umn至少暫時做

UPDATE table SET short_name = LEFT(names,3) 

然後要麼保留兩列或放下你不想要的列。

你當然可以保留原來的名稱是,當你只需要短版只需選擇像這樣從

SELECT LEFT(names,3) as short_name from table 
+0

感謝您的幫助! – 12344343243

0

我覺得這個names列是你所需要的

UPDATE `table` SET `field` = LEFT(`field`, 3)