MySQL で複数の主キーが定義されているエラーの解決方法

MySQL で複数の主キーが定義されているエラーの解決方法

主キーを作成するには 2 つの方法があります。

テーブルテーブル名を作成(
フィールド名タイプ、
フィールド名タイプ、
…
主キー(名前)
);

または

テーブルテーブル名を作成(
フィールド名タイプ主キー、
フィールド名タイプ、
…
);

ただし、複合主キーを作成する場合は、2 番目の方法を使用できないことに注意してください。
ここに小さな例を示します。

ここでは、「複数の主キーが定義されています」というエラーが報告されており、複数の主キーが定義されていることを示しています。正しい書き方は次のとおりです。

アイテムに複合主キーが設定されている場合、複合主キーの作成と削除が同時に行われるため、主キーを削除する必要があります。ただし、ここでは自動インクリメントが設定されているため、主キーを削除する前に、まず自動インクリメントを削除する必要があります。自動インクリメントを削除せずに主キーを直接削除すると、エラーが報告されます(以下を参照)。

まず自動増分を削除する必要があります:

ここで複合主キーを作成する場合、まず name フィールドの通常のインデックスを削除し、次に stu_id フィールドと name フィールドの両方に複合主キーを作成します。

概要: 記事の冒頭で説明した主キーを作成する 2 つの方法のうち、2 番目の方法は複合主キーを作成するときには使用できません。複合主キーは、作成と削除を同時に行う必要があります。

上記は、MySQL で複数の主キーが定義されているエラー メッセージに対する解決策です。123WORDPRESS.COM をお読みいただき、サポートしていただきありがとうございます。

以下もご興味があるかもしれません:
  • IDEA が MySQL に接続する際の問題と解決策
  • IDEA は MySQL への接続時にエラーを報告します。サーバーが無効なタイムゾーンを返します。タブに移動して serverTimezone プロパティを設定してください。
  • Springboot が MySQL に接続するときに発生するエラー「パスワードの使用: NO」の解決方法
  • Mysql データベースの日付と日時型でデフォルト値 0000-00-00 を設定するときに発生するエラー問題の詳細な説明
  • mysqlclient のインストール時に発生する「Microsoft Visual C++ 14.0 が必要です」というエラーを解決する
  • MySQL の絵文字テーブル ストレージのエラーに対処する方法 [エンコードを utf8mb4 に変更]
  • IDEA で MySQL にリンクするとエラー 08001 が発生し、接続に成功した後にテーブルが表示されない問題と解決策

<<:  React refsの詳細な紹介

>>:  Linuxがすべてのコマンドをサポートしていない問題の解決策

推薦する

クラウドデータ移行サービスの観点から見たMySQLの大規模テーブル抽出モードの原理分析

概要: MySQL JDBC 抽出にはどのような方法を使用すればよいでしょうか? その方法を説明しま...

3分でUbuntu 16.04を初期化し、Java、Maven、Docker環境をデプロイする

Fast-Linux プロジェクト アドレス: https://gitee.com/uitc/Fas...

ドラッグ可能なログインボックスを実現するネイティブJS

この記事では、ネイティブ JS で実装されたドラッグ可能なログイン ボックスを紹介します。その効果は...

Vueアイコンセレクターのサンプルコード

出典: http://www.ruoyi.vip/ 'vue' から Vue をイン...

横スクロールウェブサイトデザインの概要

水平スクロールはあらゆる状況に適しているわけではありませんが、適切に行えば、Web サイトを他のサイ...

Baidu Maps を Web ページに埋め込み、Baidu Maps API を使用してマップをカスタマイズする詳細な手順

ウェブページにBaiduマップを挿入するBaidu Maps を自分の Web ページに追加したい場...

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、シンプルなショッピングカートケースを実装するためのVueの具体的なコードを...

CSS の高度な使い方(実戦で活用)

1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...

Mysql ALTER TABLE はフィールドを追加するときにテーブルをロックしますか?

目次MySQL 5.6以前MySQL 5.6以降要約する知らせMySQL 5.6以前更新手順元のテー...

一目でわかる$nextTickの説明

目次1. 機能説明2. 親コンポーネント3. サブコンポーネント NextTick.vue 4なぜ未...

CSSスクロールバーのスタイルをカスタマイズする方法の詳細な説明

この記事では、CSS スクロールバー セレクターを紹介し、Webkit ブラウザーと IE ブラウザ...

nginx httpモジュールのデータ保存構造の概要

このセクションから、http モジュールの実装原理について説明します。http モジュールで非常に重...

JPQLに基づく純粋なSQL文方式の詳細な説明

JPQL は Java Persistence Query Language の略です。 Java ...

Vue でのテキストエリア適応高さソリューションの実装

目次隠れた問題適応高さのソリューションまず解決策を提示してください。Vueスタックが必要な学生はvu...

MySQL 5.7.9 バージョンの sql_mode=only_full_group_by 問題を解決する

MySQL 5.7.9 バージョンの sql_mode=only_full_group_by の問題...