1089 Некорректная часть ключа

Я получаю #1089 – Incorrect prefix key ошибки и не могу понять, что я делаю неправильно. Помогите, пожалуйста!

11 ответов

В своем определении PRIMARY KEY вы использовали (id(11)) , который определяет префиксный ключ – т.е. только первые 11 символов должны использоваться для создания индекса. Префиксные ключи действительны только для типов CHAR , VARCHAR , BINARY и VARBINARY а поле id является целым int , поэтому ошибка.

Вместо этого используйте PRIMARY KEY (id) и все будет в порядке.

Ссылка на MySQL здесь и читайте из пункта 4.

Если вы используете графический интерфейс, и вы все еще получаете ту же проблему. Просто оставьте значение размера пустым, первичный ключ по умолчанию имеет значение 11, с этим все будет в порядке. Работал с Битнами, phpmyadmin.

генерируется автоматически phpmyadmin, измените на

Есть простой способ сделать это. Это может быть не экспертный ответ, и он может работать не для всех, но для меня.

Снимите все основные и уникальные флажки, просто создайте простую простую таблицу.

Когда phpmyadmin (или другой) покажет вам структуру таблицы, сделайте столбец первичным с помощью данной кнопки.

Затем нажмите « Изменить» и измените настройки этого или другого столбца, например «уникальный» и т. Д.

Я получаю ошибку #1089 – Incorrect prefix key и не могу понять, что я делаю неправильно. Помогите, пожалуйста!

В определении PRIMARY KEY вы использовали (id(11)) , который определяет префиксный ключ – то есть первые 11 символов должны использоваться только для создания индекса. Префиксные ключи действительны только для типов CHAR , VARCHAR , BINARY и VARBINARY , а поле id – int , следовательно, ошибка.

Используйте PRIMARY KEY (id) , и все будет в порядке.

Читайте также:  100 Этажей 2 яйца

Ссылка MySQL здесь и прочитайте из параграфа 4.

Если вы используете графический интерфейс, и вы по-прежнему получаете ту же проблему. Просто оставьте значение размера пустым, первичный ключ по умолчанию имеет значение 11, с этим вы должны быть в порядке. Работал с Bitnami phpmyadmin.

автоматически генерируется phpmyadmin, изменяется на

Существует простой способ сделать это. Это может быть не экспертный ответ, и он может работать не для всех, но для меня это было.

Снимите флажки всех основных и уникальных флажков, создайте простую таблицу.

Когда phpmyadmin (или другое) показывает структуру таблицы, сделайте столбец основной данной кнопкой.

Затем нажмите изменить и отредактируйте настройки тех или иных колонок, таких как "уникальный" и т.д.

I’m getting the #1089 – Incorrect prefix key error and can’t figure out what I’m doing wrong. Help, please!

12 Answers 12

In your PRIMARY KEY definition you’ve used (id(11)) , which defines a prefix key – i.e. the first 11 characters only should be used to create an index. Prefix keys are only valid for CHAR , VARCHAR , BINARY and VARBINARY types and your id field is an int , hence the error.

Use PRIMARY KEY (id) instead and you should be fine.

MySQL reference here and read from paragraph 4.

If you are using a GUI and you are still getting the same problem. Just leave the size value empty, the primary key defaults the value to 11, you should be fine with this. Worked with Bitnami phpmyadmin.

is generated automatically by phpmyadmin, change to

There is a simple way of doing it. This may not be the expert answer and it may not work for everyone but it did for me.

Читайте также:  Творческий путь свиридова кратко

Uncheck all primary and unique check boxes, jut create a plain simple table.

When phpmyadmin (or other) shows you the table structure, make the column primary by the given button.

Then click on change and edit the settings of that or other colums like ‘unique’ etc.

In my case, i faced the problem while creating table from phpmyadmin. For id column i choose the primary option from index dropdown and filled the size 10.

If you’re using phpmyadmin, to solve this problem change the index dropdown option again, after reselecting the primary option again it’ll ask you the size, leave it blank and you’re done.

It works for me:

When you give id as a primary key then a pop up is come and those aske you to how many size of this primary key. So you just leave blank because by default int value is set 11. Click then ok on those pop up without any enter a number. in this type of error never will you face in future. Thank you 😊

Problem is the same for me in phpMyAdmin. I just created a table without any const. Later I modified the ID to a Primary key. Then I changed the ID to Auto-inc. That solved the issue.

I also had this same problem.
Solution work for me:

I paste this code in SQL and run, it works fine.

Here the full solution step by step

  • First of all you have to make the table by inserting all the data. id should AI ticked.
  • then press go and #1089 error will be pop-up
Читайте также:  Что означает оставьте сообщение после сигнала

here is the solution

  • theres a button near go called preview SQL
  • click that button and copy the sql code
  • then click on SQL tab on top of the window
  • Clear the text filed and paste that copied code there.
  • you will be see (id (11)) this on bottom of the code
  • replace (id (11)) into (id)
  • and click go
Оцените статью
Добавить комментарий

Adblock detector