Изменить тип данных из столбца в базе данных - PullRequest
0 голосов
/ 27 ноября 2018

Я хотел бы изменить тип данных переменной из таблицы в базе данных.Тип данных, которые я хочу изменить, принадлежит переменной 'exerc_id', от INT до INT NOT NULL AUTO_INCREMENT .Проблема в том, что 'exerc_id' является ПЕРВИЧНЫМ КЛЮЧОМ, и я боюсь уничтожить таблицу, потому что я не хочу терять данные.Знаете ли вы, как изменить тип данных, не удаляя ничего?Спасибо.Я использую MySQL с программным обеспечением MySQL Workbench 6.3

ТАБЛИЦА, КОТОРАЯ Я ИМЕЮ:

CREATE TABLE exercises (
    exercise_id INT,
    title VARCHAR(50),
    text text,
     PRIMARY KEY(exercise_id)
);

ТАБЛИЦА, КОТОРУЮ Я ХОЧУ:

CREATE TABLE exercises (
    exercise_id INT NOT NULL AUTO_INCREMENT,
    title VARCHAR(50),
    text text,
    PRIMARY KEY(exercise_id)
);

Может ли это быть сделано какэто?

ALTER TABLE exercises MODIFY exercise_id INT NOT NULL AUTO_INCREMENT;

1 Ответ

0 голосов
/ 28 ноября 2018

Как вы сами показали, линия

ALTER TABLE exercises MODIFY exercise_id INT NOT NULL AUTO_INCREMENT;

действительно может быть использована для внесения необходимых изменений.NOT NULL не должно ничего менять, так как поле уже является первичным ключом.AUTO_INCREMENT не является ограничительным: он не будет проверять, являются ли все идентификаторы инкрементными, вы даже можете добавить свой собственный идентификатор, пока он уникален.

Вам нужно будет подумать о будущих потребностях вашей таблицы.Возможно, будет полезно восстановить ваш столбец идентификаторов, чтобы в полной мере использовать функцию автоматического увеличения.Это очень специфично для варианта использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...