mysql auto_increment

xielk 2010-12-20 05:01:14
哪位能告知,mysql auto_increment的值是放在什么地方?

1,mysql主库的某张表中?
2,跟随数据表一起?

以上问题主要为证明:mysql的数据通过文件方式来做copy是否会有问题。
...全文
57 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2010-12-20
  • 打赏
  • 举报
回复
1,mysql主库的某张表中?
2,跟随数据表一起?


答案是2

既不存储在information_schema.TABLES中,也不存储在内存中。虽然这两个地方都会有这个值。
iihero_ 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 rucypli 的回复:]

myisam存在表里 innodb存在内存
不过你直接拷贝data文件夹就不会出问题
[/Quote]
实际上都是从内存里头取值(会话或者连接相关,有兴趣,可以查看一下mysql的源码),不过,在连接初始化时,都会从上表中取值。否则,初始值拿不到,肯定会出问题。

直接拷贝data文件夹不会出问题,等于是全库拷贝。所以不出问题。
rucypli 2010-12-20
  • 打赏
  • 举报
回复
myisam存在表里 innodb存在内存
不过你直接拷贝data文件夹就不会出问题
iihero_ 2010-12-20
  • 打赏
  • 举报
回复
似乎都是存了一份值在information_schema.TABLES 表里头。
除非把information_schema.tables表什么的都连同导到新库中。否则该值丢失。
WWWWA 2010-12-20
  • 打赏
  • 举报
回复
select AUTO_INCREMENT from information_schema.TABLES where TABLE_NAME= 'tt '

如果是INNODB引擎的,直接COPY是有问题的,用MYSQLDUMP备份、导入,MYISAM的可以直接COPY

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧