扫码关注官方订阅号
从seo来说,主键id值并不想改变。现在从access导入到mysql,保持主键不变,且为自增。那么这样插入数据后id会被重置从1开始吧。
你可以先不设置自增导完了以后再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中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你可以先不设置自增导完了以后再alter table嘛,不过话说回来,使用mysql直接insert一个id在一个auto_increment的字段里是可以的啊,至少我这里都这样,不知道你那神马现象
可以insert一条记录之前先修改auto_increment的值为该记录的id值, 然后insert.
但得保证数据按id正序排序
-------------------------
楼上说的对啊, 按正序排列的数据, 直接插入不连续的id值是可以的...
让mysql和access的结构保持一样就行了。该怎么导入怎么导入,然后看最大的id是什么,直接alter掉。
导入完成以后,看最大的主键是什么:
比如是1000。
然后直接alter掉:
这样就OK了,下次再insert,就是从1001开始了。