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 列が自動インクリメントされるため、テーブルのパフォーマンスが連続した挿入と更新に対して最適化されたままになります。 。一方、クエリではメンバー ID によってユーザーを効率的に識別できます。

ID 列にインデックスを追加すると、MySQL は、主キーではない場合でも、このフィールドを使用して行をすばやく見つけることができます。ただし、id 列を主キーとして直接使用する場合と比較して、パフォーマンスが若干遅くなる可能性があることに注意することが重要です。

このアプローチにより、良好なパフォーマンスを維持しながらデータベース設計を柔軟に行うことができ、犠牲にするディスク容量を最小限に抑えて使いやすさを向上させ、クエリの最適化。

以上がMySQL で主キーを変更するときに自動インクリメントを維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!