您的位置:首页 > 数据库 > MySQL

mysql外键,索引等基本操作 和 跨表复制数据操作

2016-03-16 23:51 721 查看

前言

m_parameter_template参数模板原来为一个包含很多信息的表,目前业务需求,需要把表中一些信息提取出放到另一个表m_parameter_file,pt表通过一个外键parameter_file_id关联到pf表。这样对表pf可以有更多的操作,分离部分操作,实现数据解耦。

目标

将pt表的外键parameter_file_id根据pt表还未删除的字段parameter_file_name(pf表已经复制了这个字段作为name字段)等于pf.name来实现关联pf.id主键,方便hibernate进行本地测试。

结果

update m_parameter_template  as pt
left join m_parameter_file as pf
on pf.name = pt.parameter_file_name
set pt.parameter_file_id = pf.id;


基本操作

/*部分数据复制迁移,某些字段m_parameter_template迁移到m_parameter_file*/
insert into m_parameter_file(id, name, description, insert_time, last_modified_time, application_provider_id, config_file_id, owner_id)
select id, parameter_file_name, description, insert_time, last_modified_time, application_provider_id, config_file_id, owner_id from m_parameter_template;


/*删除外键*/
ALTER TABLE `r_parameter_template_jar_file` DROP FOREIGN KEY `FKB16DDE2D32341F1`;
/*删除索引*/
ALTER TABLE `m_parameter_template` DROP KEY `FK98E5627DBE949A`;


/*增加外键约束*/
alter table `r_parameter_template_jar_file` add constraint `FKB16DDE2D32341F1`
foreign key(`parameter_template_id`) REFERENCES `m_parameter_file`(`id`);


/*数据表更名*/
alter table r_parameter_template_jar_file RENAME r_parameter_file_jar_file;


/*增加字段*/
alter table m_parameter_template add column parameter_file_id bigint(20) NOT NULL;


/*删除字段*/
alter table m_parameter_template drop column parameter_file_name;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql