改变数据库中列的数据类型

nkcskrwz  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(354)

我想更改数据库表中变量的数据类型。我要更改的数据类型属于变量'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;
anhgbhbe

anhgbhbe1#

就像你展示给自己的,台词

ALTER TABLE exercises MODIFY exercise_id INT NOT NULL AUTO_INCREMENT;

确实可以用来做你需要的改变。 NOT NULL 不应更改任何内容,因为该字段已是主键。这个 AUTO_INCREMENT 不受限制:它不会检查所有id是否都是增量的,您甚至可以添加自己的id,只要它是唯一的。
你需要考虑一下你餐桌上的必需品。重新生成id列以充分利用自动递增特性可能是有益的。不过,这对于用例来说非常具体。

相关问题