找回密码
 注册
首页 ≡≡网络技术≡≡ 数据库 mysqldump导出的sql数据丢失auto_increment

mysqldump导出的sql数据丢失auto_increment

灰儿 2012-4-29 10:30:34
我的mysql server版本为mysql_5.1.57。当我使用mysqldump 备份一个数据库时,生成的SQL文件中没有包AUTO_INCREMENT语句,经过仔细比对,发现是导出加上--skip-opt选项导致。

可是用phpmyadmin可以在导出时选中AUTO_INCREMENT选项,这样就可以导出包含AUTO_INCREMENT的SQL语句了,只是phpmyadmin对操作比较大的数据库还是不行,想请教各位如果能使用mysqldump也能导出包含AUTO_INCREMENT的语句。

--skip-opt相当于禁用了--add-drop-table, --add-locks, --create-options,--quick, --extended-insert

你的问题出现的原因是,--skip-opt,会关闭表的属性,所以自动增长的属性会关掉。
你试试 --compatible=no_table_options。应该就没有问题了。


用普通用户导出数据可以这样(确认当前数据没有读写,否则可能不保证数据的完整性)
mysqldump --single-transaction dbtable  或者
mysqldump --skip-opt  --add-drop-table --create-options -e


-------------------------------------------------------------------------------------
导数据建议分两步来导,可以解决或避免问题:

1,导出表结构: --no-create-info   不写入表创建信息(CREATE TABLE语句)   
2,导出所有数据:--no-data   不写入表的任何行信息

这样是有好处的,譬如:
解决你上面的这个问题;解决不同版本的mysql问题;解决mysql中文问题;等等.

您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。