MySQL エラー コード #1089 について
MySQL エラー コード #1089、「プレフィックス キーが正しくありません」は、主キーの問題を示しますまたは一意のインデックス。特に、使用されたキー部分が文字列ではない場合、または使用されたキー部分の長さが実際のキー部分の長さを超えた場合に発生します。
提供された 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;
この問題は、PRIMARY KEY (movie_id(3)) の使用に起因します。この行は、(3) セグメントで指定された movie_id 列の最初の 3 バイトに主キーを作成します。
ただし、数値データ型 (この場合は INT) にプレフィックスを作成しようとしています。 MySQL ではサポートされていません。これは、プレフィックス キーが文字列ベースのデータ型にのみ適用されるためです。
エラーを解決するには、次のクエリを使用する必要があります。
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;
(3) セグメントを削除すると、主キーは、プレフィックスだけではなく、movie_id 列全体に作成されます。これにより問題が解決され、MySQL が主キーを正しく作成できるようになります。
以上がMySQL エラー コード #1089 「プレフィックス キーが正しくありません」が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。