MySQL更改主键时如何保持自增?

Linda Hamilton
发布: 2024-10-30 00:10:02
原创
664 人浏览过

How to Maintain Auto-Increment While Changing  Primary Key in MySQL?

更改主键为Memberid时保持自增

在MySQL中,创建带有自增列的表还需要它被指定为主键。但是,如果主键需要是不同的字段,用户可能会遇到错误“#1075 - 不正确的表定义。”

要解决此问题,可以维护自动递增列(id),同时将memberid作为主键。这可以通过在 id 列上创建索引(键)来实现:

CREATE TABLE members (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `memberid` VARCHAR(30) NOT NULL,
  `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `firstname` VARCHAR(50) NULL,
  `lastname` VARCHAR(50) NULL,
  PRIMARY KEY (`memberid`),
  KEY (`id`)
);
登录后复制

此解决方案可确保表的性能针对顺序插入和更新保持优化,因为 id 列保持自动递增。同时,查询可以通过memberid有效地识别用户。

通过在id列上添加索引,MySQL可以快速定位使用该字段的行,即使它不是主键。但是,需要注意的是,与直接使用 id 列作为主键相比,性能可能会稍微慢一些。

这种方法允许数据库设计灵活,同时保持良好的性能,牺牲最小的磁盘空间来提高可用性和查询优化。

以上是MySQL更改主键时如何保持自增?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!