有時候,我們需要復制某個字段一整列的數據到另外一個新的字段中,這很簡單,SQL可以這麼寫:
UPDATE tb_1 SET content_target = content_source;
大概寫法如下:
Update {your_table} set {source_field} = {object_field} WHERE cause
有Navicat等工具更好,可以直接選中一列數據,拷貝粘貼到你需要的列中。如果是同一個表那沒什麼問題,如果是新表,請保持它們的行數是一致。如果行數不一致,你可以新建一個表,再把列拷貝進去,這樣id數也會保持一致。
有時候這些MySQL界面工具會報錯,這個時候用命令行更好。比如復制一個表字段數據到另外一個表的字段,可以這麼寫:
UPDATE tb_1 INNER JOIN tb_2 ON tb_1.tid = tb_2.tid
SET tb_1.tcontent = tb_2.tcontent
下面是一個實際例子,將PHPCMS已生成的靜態頁面的鏈接寫入phpcms_content表中的url字段:
先這樣拼湊出需要的url字段列。
SELECT CONCAT(FROM_UNIXTIME(inputtime,'%Y/%m%d'), '/', contentid, '.html') AS dt FROM phpcms_content ORDER BY contentid DESC
然後再查詢編輯器(navicat)中,將整段復制拷貝到phpcms_content表中的url列即可。