mysql - "ADD AUTO_INCREMENT value"在 phpMyAdmin 中是什么意思

标签 mysql database phpmyadmin

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 的字段?

最佳答案

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

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

添加约束 完全符合它的意思,即它恢复数据库中表上的所有约束。如果您想要一个完整的转储,这也是必需的。

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

您可以找到有关复制的信息 herehere .

关于mysql - "ADD AUTO_INCREMENT value"在 phpMyAdmin 中是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18653224/

相关文章:

PHP - 将下拉框保存到我的 mysql 数据库中

arrays - 错误 : ARRAY is missing type definition for its values Sequelize

java - InfluxDB如何获取最后记录的值

mysql - 为什么我的外键关系不应用约束规则?

php - csv 不会忽略 ','(逗号)并使用 php 创建新行

php - MySQL更新在哪里

mysql - 无法通过ssh连接到mysql

mysql - 删除指定了外键的表

mysql - 存储过程不执行任何操作

c# - 无法连接到远程 mySQL 数据库