首页 > 数据库 > mysql教程 > 为什么我在创建 MySQL 表时收到'前缀键不正确”错误 (#1089)?

为什么我在创建 MySQL 表时收到'前缀键不正确”错误 (#1089)?

Patricia Arquette
发布: 2024-10-30 02:33:03
原创
401 人浏览过

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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板