gpt4 book ai didi

mysql - 错误 1114 : table is full when inserting an AUTO_INCREMENT in cloudsql

转载 作者:行者123 更新时间:2023-11-29 21:05:34 25 4
gpt4 key购买 nike

我的 CloudSQL 数据库中有一个 8Go 表(目前)没有主键。它由 5200 万行、每行 20 列组成。

我想添加一个,因为我将删除重复项,并且在没有主键的情况下这样做对于 MySQL 来说太耗时

但是,我在运行此操作时遇到了问题,我想知道我是否真的以最有效的方式进行操作。

我想使用以下行添加此主键:

 ALTER TABLE mytable ADD COLUMN id INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST

我预计此请求会将我的数据库大小增加数百 MB,并且运行速度相当快。

但是,当我运行该请求时,我看到数据库使用量增加了很多(+ 14 GB),并且在运行 2 小时后,我看到以下错误消息:

“错误 1114:表 'mytable' 已满”。

发生此错误时,数据库存储使用恢复正常,但 mytable 没有发生任何更改

我的问题是:- 当我发起请求时,CloudSQL 试图做什么,为什么他花了这么长时间?- 我该怎么做才能让 CloudSQL 更快地执行我的请求?我缺少什么?

最佳答案

来自http://dev.mysql.com/doc/refman/5.7/en/alter-table.html

“如果你使用“ALTER TABLE mytable AUTO_INCRMENT = N”,MySQL服务器将创建一个新表,将旧表中的所有数据复制到新表中,删除旧表,然后重命名新表,即使没有表的结构变化。”

关于mysql - 错误 1114 : table is full when inserting an AUTO_INCREMENT in cloudsql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36848102/

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