11

phpMyAdmin中,我想将一个数据库复制到另一个名称,这样我就可以有效地拥有 2 个完全相同的数据库。一个作为我的原始文件,另一个用于在我拥有的登台网站上进行测试。

有三个主要选项

structure only
structure and data
data only,

我需要结构和数据,但是下面有更多复选框选项;

 CREATE DATABASE before copying  //was checked by default
 Add DROP TABLE / DROP VIEW
 Add AUTO_INCREMENT value //was checked by default
 Add constraints
 Switch to copied database 

“添加 AUTO_INCREMENT 值”和“添加约束”是什么意思,如果我复制结构和数据,没有任何带有 AI 的字段被复制?

4

3 回答 3

10

当您导出/导入包含结构和数据的数据库时,phpmyadmin 会将其恢复为与原来相同的状态。复制数据库时也是如此。

Add AUTO_INCREMENT value只需正确设置 auto_increment 值,您就可以正确使用恢复的数据库。这是必要的,以防 phpmyadmin 执行某种批量插入,其中 auto_increment 不会在每次插入时递增。这也是设置正确值所必需的,因为您可以在表中插入然后删除一些数据,因此为了保持数据一致性,您不仅要保留确切的 ID,而且不要使用已使用的 ID旧行。

Add constraints正是它的意思,即它恢复了数据库中表的所有约束。如果您想要一个完整的转储,这也是必需的。

对于您正在尝试做的事情,也许数据库复制会更好。

您可以在此处此处找到有关复制的信息。

于 2013-09-06T08:42:21.867 回答
4

如果选中“添加 AUTO_INCREMENT 值”和“添加约束”复选框,则新表应具有与复制表相同的下一个自动索引和约束。所有有人工智能的领域都被填满了

于 2013-09-06T08:42:08.227 回答
2

“添加 AUTO_INCREMENT”在新复制的数据库中继续进行自动增量。如果我们取消选中,那么它将停止从该字段自动递增。因此,如果我们还想保持自动增量到新数据库中,那么请保持选中“添加 AUTO_INCREMENT”

于 2013-09-06T09:02:00.773 回答