mysql - 如何将带有自增主键的数据导入到另一个数据库
巴扎黑
巴扎黑 2017-04-17 10:57:28
[MySQL讨论组]

从seo来说,主键id值并不想改变。现在从access导入到mysql,保持主键不变,且为自增。那么这样插入数据后id会被重置从1开始吧。

巴扎黑
巴扎黑

全部回复(3)
大家讲道理

你可以先不设置自增导完了以后再alter table嘛,不过话说回来,使用mysql直接insert一个id在一个auto_increment的字段里是可以的啊,至少我这里都这样,不知道你那神马现象

阿神

可以insert一条记录之前先修改auto_increment的值为该记录的id值, 然后insert.
但得保证数据按id正序排序

insert into `TABLENAME` (`FIELDNAME`) values ('aaa');
alter table `TABLENAME` auto_increment=5;
insert into `TABLENAME` (`FIELDNAME`) values ('bbb');
select * from `TABLENAME`;
-----
1 aaa
5 bbb

-------------------------
楼上说的对啊, 按正序排列的数据, 直接插入不连续的id值是可以的...

大家讲道理

让mysql和access的结构保持一样就行了。该怎么导入怎么导入,然后看最大的id是什么,直接alter掉。
导入完成以后,看最大的主键是什么:

select max(PRIMARY_ID) from TB_NAME;

比如是1000。
然后直接alter掉:

alter table TB_NAME AUTO_INCREMENT = 1001;

这样就OK了,下次再insert,就是从1001开始了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号