2009-06-18 83 views
0

我想知道如何从2个单独的表(CATEGORIES和SUBCATEGORIES,其中SUBCATEGORIES属于CATEGORY)备份我的数据,以便我可以在稍后恢复关系。我不确定mysqldump --opt db_name就足够了。mysql备份保存关系

例子:

分类:

| ID | name 
----------- 
| 1 | Audio 
| 9 | Video 

小类:

| ID | category_id | name 
------------------------- 
| 1 | 1   | Guitar 
| 2 | 1   | Piano 
| 3 | 9   | Video Camera 

感谢

+0

正如维克托hugo所说,关系由普通表数据表示,并将像其他任何东西一样被转储。如果你不得不导出数据以将它们与同一条结构中的另一个数据库合并,那么情况会更复杂。即你不能保留这些ID。然后,您应该使用UUID(这些可以映射到纯效率),或创建自定义程序。 – 2009-10-15 09:24:48

回答

1

的mysqldump的默认添加create table命令,并将其保存的关系。

4

的mysqldump足够

它会生成必要的SQL代码来重建数据库和关系都没有特殊的数据(只是逻辑巧合表之间),这足以备份数据库。即使通过使用mysqldump而不使用--opt param,它也会添加索引定义,因此这些限制仍将保留。