gpt4 book ai didi

MySQL:忘记设置自动增量

转载 作者:可可西里 更新时间:2023-11-01 06:34:57 27 4
gpt4 key购买 nike

我建立了一个数据库,其中有一个自动递增的列,本来是一个 ID。问题是我在 phpMyAdmin 中创建表时忘记勾选自动增量...直到现在才注意到!所以我所拥有的是这样的:

ID   |   column one   |   column two
------------------------------------
0 | some value | some value
0 | other value | something else
0 | example val. | something
0 | my example | something

基本上,我的“自动递增”列全面显示零。我如何修改此表以显示所有先前和所有 future 行的自动递增?

最佳答案

如果表是空的,你可以这样做:

ALTER TABLE mytable MODIFY COLUMN id bigint not null primary key auto_increment

但我不确定其中的行会发生什么。最好创建一个具有正确定义的新表,复制数据减去 id 列,删除旧的(错误的)表,然后将新表移动到旧名称。

-- Either: 
CREATE TABLE newtable LIKE mytable;
ALTER TABLE newtable MODIFY COLUMN id bigint not null primary key auto_increment;
-- or:
CREATE TABLE newtable (
id bigint not null primary key auto_increment,
column1 type1,
column2 type2,
...
);

INSERT INTO newtable
(column1, column2, ...)
SELECT column1, column2, column3, ...
FROM mytable;
-- Make SURE that insert worked BEFORE you drop the old table
-- and lose data if it didn't.
DROP TABLE mytable;
ALTER TABLE newtable RENAME TO mytable;

我确信 phpMyAdmin 有能力以更图形化的方式执行此操作。

关于MySQL:忘记设置自动增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7948267/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com