2016-12-05 54 views
0

所以我需要做此表的变化变化表结构和数据迁移MYSQL只查询

assignments 
- id 
- organisation_id (fkey to organisations.id) 

organisations 
- id 

contacts 
- id 
- assignment_id (fkey to assignment.id) 

assignments // Not altered 
- id 
- organisation_id 

organisations // Not altered 
- id 

contacts //Table altered (-assignment_id, +organisation_id) 
- id 
- organisation_id (fkey to organisations.id) 

assignment_contact //New table with 2 foregin keys to existing tables 
- contact_id (fkey to contact.id) 
- assignment_id (fkey to assignment.id) 

所以我想知道如果这种迁移可以用MySQL查询完成,而不需要做任何手动后处理等等。

“障碍”

  1. 有〜在“联系人” 22K记录表
  2. 它在生产中完成,因此可能没有任何停机时间超过一两分钟

非常感谢您的任何建议或指导。

感谢

+0

是,这种迁移可以做到用mysql查询mysql的终端。 – Shadow

回答

0

是的,这可以在生产完成没有问题, 记录的数量〜22K是MySQL的数据非常低量。

建议是先创建并填充新表。 然后为您输入的表创建迁移表,并将它们填充到表中。 然后您只需将生产表与迁移表交换(将现有名称重命名为bkp_table_name,将迁移名称重命名为实名)。 如果一切正常,那么你可以删除bkp_ *表。

当然先做一个备份,并记住表索引。

编辑:另一个建议是使用,而不是MySQL工作台或phpMyAdmin的唯一