MySQL Изменяют таблицу странная ключевая ошибка

Я использую Рабочее место MySQL, чтобы создать большую базу данных.

Я продолжаю добираться:

ОШИБКА: Ошибка 1089: Неправильный ключ префикса; используемая ключевая роль не последовательность, используемая длина более долга, чем ключевая роль, или двигатель хранения не поддерживает уникальные ключи префикса

Пытаясь выполнить следующий вопрос:

ALTER TABLE `view4`.`entities` DROP COLUMN `resellerType` ,
DROP COLUMN `industrTypeId` ,
DROP COLUMN `paymentTermsId` ,
ADD COLUMN `paymentTermsId` INT(11) NOT NULL  AFTER `vatRateId` ,
ADD COLUMN `industrTypeId` INT(11) NOT NULL  AFTER `paymentTermsId` ,
ADD COLUMN `resellerType` INT(11) NOT NULL  AFTER `industrTypeId` ,
DROP FOREIGN KEY `fk_entities_grades1`

Я попытался изменить длину различных колонок INT, но она не имеет никакого эффекта. Я также получаю эту ошибку на нескольких других столах.

Что рабочее место делает неправильно?


Я уменьшил его немного до:

ALTER TABLE `view4`.`entities` DROP COLUMN `resellerType` ,
DROP COLUMN `industrTypeId`  , 
ADD COLUMN `industrTypeId` INT(11) NOT NULL  AFTER `paymentTermsId` ,
ADD COLUMN `resellerType` INT(11) NOT NULL  AFTER `industrTypeId` 

и это все еще дает мне ошибку.

1
nl ja de
@Reno Джонс Это doesn' t работают в каком-либо пульте, таким образом, это - вещи выполнения рабочего места в неправильном заказе? Какова была бы работа вокруг?
добавлено автор imperium2335, источник
Джонс @Reno, Который дает мне двойную ошибку колонки. Пожалуйста, посмотрите, редактируют.
добавлено автор imperium2335, источник
Номер Джонса @Reno, если я исключаю все свои столы из DB, как я могу просто загрузить целую базу данных снова, таким образом, это опускает директивы СНИЖЕНИЯ?
добавлено автор imperium2335, источник
Я просто пропустил все столы и импортировал модель к любому источнику, выбрал базу данных, и это работало хорошо. Это использовало CREATE TABLE вместо, ИЗМЕНЯЮТСЯ на этот раз, таким образом, не было никаких конфликтов с существующими столбцами и т.д. и т.д.
добавлено автор imperium2335, источник
Я полагаю, что проблема - вы, пытаются пропустить колонку ' paymentTermsId' (и еще один), и вы просите, чтобы MySQL добавил колонку после ' paymentTermsId' (и еще один). Каковы ваши мысли?
добавлено автор Reno Jones, источник
Можно ли добавить колонки сначала и затем пропустить ли их в различном вопросе? Это сделает работу для вас.
добавлено автор Reno Jones, источник
Сделайте у вас есть ' industrTypeId' в вашей DB уже? По-видимому, сделайте все понижение колонок в различном вопросе и сделайте все добавление колонок в различном вопросе. Вы делаете две вещи за один раз на том же самом человеке колонки. Я надеюсь, что вы понимаете проблему.:)
добавлено автор Reno Jones, источник
В состоянии вы, чтобы решить теперь?
добавлено автор Reno Jones, источник
Через Командную строку - $mysql-u имя пользователя-p-h localhost базы данных базового имени ДАННЫХ-> импорт-> Рассматривает->, Пойдите:)
добавлено автор Reno Jones, источник
это хорошо знать.:)
добавлено автор Reno Jones, источник
Предложение разделения в маленькие части. Одинокая ошибка.
добавлено автор dani herrera, источник
", Что рабочее место делает неправильно? " - Вы подразумеваете, что он работает в пульте mysql? =)
добавлено автор J. Steen, источник
Разделение вопроса?
добавлено автор J. Steen, источник

1 ответы

Похоже, что вы изменили внесенный в указатель тип поля от CHAR/VARCHAR до INT, используемый индекс был создан с длиной префикса. Сценарий воссоздает эту область - КОЛОНКА СНИЖЕНИЯ + ДОБАВЛЯЕТ КОЛОНКУ, и это вызывает ошибку.

Попытайтесь изменить области, используя этот путь -

ALTER TABLE `view4`.`entities`
  CHANGE COLUMN `industrTypeId` `industrTypeId` INT(11) NOT NULL
    AFTER `paymentTermsId`,
  CHANGE COLUMN `resellerType` `resellerType` INT(11) NOT NULL
    AFTER `industrTypeId`;
3
добавлено
DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
1 345 участник(ов)

Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.

MySQL
MySQL
995 участник(ов)

The group is about MySQL. For code use hastebin.com. Admin: @smlkw

dbGeeks
dbGeeks
545 участник(ов)

Чат про базы данных, их устройство и приемы работы с ними. Разрешаются любые адеватные дискуссии в рамках тематики чата.

Разработка СУБД
Разработка СУБД
143 участник(ов)