我想更改数据库表中变量的数据类型。我要更改的数据类型属于变量'exercise\u id',从int到int not null auto\u increment。问题是'exercise\u id'是主键,我害怕破坏表,因为我不想丢失数据。你知道有什么方法可以在不删除任何内容的情况下改变数据类型吗?谢谢您。我使用mysql和mysql workbench 6.3软件
我的table:
CREATE TABLE exercises (
exercise_id INT,
title VARCHAR(50),
text text,
PRIMARY KEY(exercise_id)
);
我想要的table:
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条答案
按热度按时间anhgbhbe1#
就像你展示给自己的,台词
确实可以用来做你需要的改变。
NOT NULL
不应更改任何内容,因为该字段已是主键。这个AUTO_INCREMENT
不受限制:它不会检查所有id是否都是增量的,您甚至可以添加自己的id,只要它是唯一的。你需要考虑一下你餐桌上的必需品。重新生成id列以充分利用自动递增特性可能是有益的。不过,这对于用例来说非常具体。