Я обнаружил некоторые трудности при попытке изменить таблицу MySql с ошибкой.
В этой таблице есть поле я бы, которое установлено как ПК. Проблема в том, что при создании этой таблицы это поле не было установлено как автоматическое приращение.
Я также попытался удалить это поле и добавить его снова, установив его как автоинкремент, но я не могу этого сделать, потому что он используется в других таблицах как FK, на самом деле я получаю это сообщение об ошибке:
#HY000Cannot drop column 'id': needed in a foreign key constraint 'FK_LivestockMessageDetails_LivestockMessage' of table 'digital_services_DB.LivestockMessageDetails'
while executing:
ALTER TABLE LivestockMessage
DROP `id`,
ENGINE=InnoDB ROW_FORMAT=DYNAMIC DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci
Я знаю, что могу удалить FK, удалить поле я бы и снова создать его с автоматическим приращением.
Но как я могу изменить свою таблицу, установив ее как автоматическое приращение, не выполняя всю эту процедуру?
@KortebyFarouk error: # 42000 У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '' CHANGE COLUMN id id id INT (11) NOT NULL 'в строке 1
Или в Mysql Workbench попробуйте отменить выбор столбца A в конфигурации таблицы
Он должен работать, даже если это данные






Измените таблицу и измените столбец, чтобы включить опцию AUTO_INCREMENT?
ALTER TABLE LivestockMessage MODIFY COLUMN id INT AUTO_INCREMENT;
(Таблица сохранит ограничение PRIMARY KEY на id.)
Попробуйте этот код sql:
ALTER TABLELivestockMessage` ИЗМЕНИТЬ КОЛОНКУididINT (11) NOT NULL;