MySQL復(fù)制表字段到另外一個(gè)表的字段
有時(shí)候,我們需要復(fù)制某個(gè)字段一整列的數(shù)據(jù)到另外一個(gè)新的字段中,這很簡(jiǎn)單,SQL可以這么寫(xiě):
UPDATE tb_1 SET content_target = content_source;
大概寫(xiě)法如下:
Update {your_table} set {source_field} = {object_field} WHERE cause
有Navicat等工具更好,可以直接選中一列數(shù)據(jù),拷貝粘貼到你需要的列中。如果是同一個(gè)表那沒(méi)什么問(wèn)題,如果是新表,請(qǐng)保持它們的行數(shù)是一致。如果行數(shù)不一致,你可以新建一個(gè)表,再把列拷貝進(jìn)去,這樣id數(shù)也會(huì)保持一致。
有時(shí)候這些MySQL界面工具會(huì)報(bào)錯(cuò),這個(gè)時(shí)候用命令行更好。比如復(fù)制一個(gè)表字段數(shù)據(jù)到另外一個(gè)表的字段,可以這么寫(xiě):
UPDATE tb_1 INNER JOIN tb_2 ON tb_1.tid = tb_2.tidSET tb_1.tcontent = tb_2.tcontent
下面是一個(gè)實(shí)際例子,將PHPCMS已生成的靜態(tài)頁(yè)面的鏈接寫(xiě)入phpcms_content表中的url字段:
先這樣拼湊出需要的url字段列。
SELECT CONCAT(FROM_UNIXTIME(inputtime,’%Y/%m%d’), ’/’, contentid, ’.html’) AS dt FROM phpcms_content ORDER BY contentid DESC
然后再查詢(xún)編輯器(navicat)中,將整段復(fù)制拷貝到phpcms_content表中的url列即可。
相關(guān)文章:
1. Oracle數(shù)據(jù)庫(kù)中臨時(shí)表的進(jìn)一步深入研究2. 詳解sql server中數(shù)據(jù)庫(kù)快照工作原理3. Mysql優(yōu)化方法詳細(xì)介紹4. 詳解mysql 中的鎖結(jié)構(gòu)5. 盤(pán)點(diǎn)SqlServer 分頁(yè)方式和拉姆達(dá)表達(dá)式分頁(yè)6. MyBatis 實(shí)現(xiàn)批量插入和刪除中雙層循環(huán)的寫(xiě)法案例7. 解決MySQL讀寫(xiě)分離導(dǎo)致insert后select不到數(shù)據(jù)的問(wèn)題8. 為SQLite3提供一個(gè)ANSI到UTF8的互轉(zhuǎn)函數(shù)9. centos編譯安裝mariadb的詳細(xì)過(guò)程10. Docker 安裝 MySQL 并實(shí)現(xiàn)遠(yuǎn)程連接教程
