我想从数据库中的表更改变量的数据类型。我要更改的数据类型属于变量'exercise_id',从 INT 更改为 INT NOT NULL AUTO_INCREMENT 。问题是'exercise_id'是PRIMARY KEY,由于我不想丢失数据,我担心会破坏表。您知道在不删除任何内容的情况下更改数据类型的任何方法吗?谢谢。我将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;
答案 0 :(得分:1)
就像你展示自己一样,台词
ALTER TABLE exercises MODIFY exercise_id INT NOT NULL AUTO_INCREMENT;
确实可以用来进行所需的更改。 NOT NULL
不应更改任何内容,因为该字段已经是主键。 AUTO_INCREMENT
不受限制:它不会检查所有ID是否都是递增的,只要是唯一的,您甚至可以添加自己的ID。
您将需要考虑表的未来需求。重新生成id列以充分利用自动增量功能可能会有所帮助。不过,这非常适合用例。