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學習者快速成長!