MySQL テーブルの作成時に「プレフィックス キーが正しくありません」エラー (#1089) が発生するのはなぜですか?

Patricia Arquette
リリース: 2024-10-30 02:33:03
オリジナル
334 人が閲覧しました

Why am I getting the

MySQL エラー: 不正なプレフィックス キー (#1089)

問題:

次のクエリ:

<code class="sql">CREATE TABLE `movies`.`movie`
( `movie_id` INT(3) NULL AUTO_INCREMENT, `movie_name` VARCHAR(25) NULL,
  `movie_embedded_id` VARCHAR(50) NULL, `rating_no` INT(3) NULL,
  `movie_description` VARCHAR(50) NULL, PRIMARY KEY (`movie_id`(3))) ENGINE = InnoDB;</code>
ログイン後にコピー

次のエラーが発生しました:

#1089 - Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys.
ログイン後にコピー

回答:

PRIMARY KEY 定義で指定されているためにエラーが発生します。サブパートキー、つまり movie_id の最初の 3 バイトのみ。これは文字列データ型でのみサポートされます。数値データ型の主キーの場合は、サブ部分を指定せずに完全な長さを含める必要があります:

<code class="sql">CREATE TABLE `movies`.`movie`
( `movie_id` INT(3) NULL AUTO_INCREMENT, `movie_name` VARCHAR(25) NULL,
  `movie_embedded_id` VARCHAR(50) NULL, `rating_no` INT(3) NULL,
  `movie_description` VARCHAR(50) NULL, PRIMARY KEY (`movie_id`)) ENGINE = InnoDB;</code>
ログイン後にコピー

この変更を行うと、エラーは表示されなくなり、テーブルは正常に作成されます。

以上がMySQL テーブルの作成時に「プレフィックス キーが正しくありません」エラー (#1089) が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート