时间:2020-12-29 16:23:15 | 栏目:Mysql | 点击:次
mysql复制表中的一列到另一个表中
有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,这很简单,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列即可。
不同表之间字段复制的例子:
需求:把student表的name字段复制到student_rec表的name字段
student表
student_rec表
sql实现:
UPDATE student_rec INNER JOIN student ON student.id = student_rec.student_id SET student_rec.`name` = student.`name`
结果:
总结