首頁 >資料庫 >mysql教程 >為什麼我在建立 MySQL 表時收到「前綴鍵不正確」錯誤 (#1089)?

為什麼我在建立 MySQL 表時收到「前綴鍵不正確」錯誤 (#1089)?

Patricia Arquette
Patricia Arquette原創
2024-10-30 02:33:03408瀏覽

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.

遇到以下錯誤:

答案:

<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>

發生錯誤是因為PRIMARY KEY 定義指定子部分密鑰,即只有movie_id 的前3 個位元組。僅字串資料類型支援此功能。對於數字資料類型的主鍵,必須包含完整長度,而不指定子部分:

進行此更改後,錯誤不應再出現,並且表將成功建立。

以上是為什麼我在建立 MySQL 表時收到「前綴鍵不正確」錯誤 (#1089)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn