2017-07-23 96 views
0

我創建了一個新字段,我需要根據現有字段對其進行更新。想知道如果MYSQL可以使用變量做到這一點,或者我必須使用PHP?由於該表是巨大的(300K +行,我認爲其最好用查詢本身是可以完成的)根據現有字段更新列

電流:

+-----+--------+--------------+ 
| pid | mfr |  pnum  | 
+-----+--------+--------------+ 
|  | MCAFEE | HIDYFM-AA-DA | 
+-----+--------+--------------+ 

預計:

+-----------------------+--------+--------------+ 
|   pid   | mfr |  pnum  | 
+-----------------------+--------+--------------+ 
| MCAFEE___HIDYFM-AA-DA | MCAFEE | HIDYFM-AA-DA | 
+-----------------------+--------+--------------+ 
+0

這不是一個新列,你只是更新現有列。您可以使用UPDATE語句。儘管如此,這將是一次性更新。如果你的要求比這更多,那麼它需要一些澄清。 –

+0

@AndyG是的,它是我創建的一個字段,更新了描述。 – 3zzy

+0

如上所述,您可以執行一次性更新以將列更新爲來自其他列的連接值。如果你打算爲新行自動發生,你可以使用插入前的觸發器。但是你需要這個*額外的*列嗎?您可以爲兩列創建唯一索引,並在輸出時僅顯示連接的值。 –

回答

2

正好連接兩個字段和集到pid

UPDATE table_name SET pid=CONCAT(mfr,"___",pnum) 
+0

正是我想要的,謝謝! – 3zzy

1

你可以通過mysql查詢來做到這一點。這樣

update example set pid = concat(mfr ,"__",pnum); 

其中例如是表名

相關問題