gpt4 book ai didi

php - MySQL ALTER TABLE 删除表

转载 作者:搜寻专家 更新时间:2023-10-30 23:48:14 25 4
gpt4 key购买 nike

我吓坏了。我在一家公司工作(非常愚蠢)不备份他们的 MySQL 数据库。我不得不更改表“项目”中的一列,以增加项目描述的最大字符数。我使用了以下命令:

ALTER TABLE items CHANGE description description varchar(5000) NOT NULL;

但是,在我输入这个命令后,我得到了这个错误:

Error on rename of './company/#sql-b30_400ad' to './company/items' (errno: 150 - Foreign key constraint is incorrectly formed)

现在, table 完全没有了。有没有办法访问“#sql-b30_400ad”表来恢复它?我知道使用以下方法从该表中删除了一个键:

SET foreign_key_checks = 0;
ALTER TABLE items DROP KEY foreign_key_name;
SET foreign_key_checks = 1;

有什么方法可以撤销发生的事情,或者恢复为 ALTER 命令创建的临时项目表?

编辑:该表使用 InnoDB 引擎

再次编辑:所以我发现,由于我们将 Amazon Web Service 用于我们的 MySQL 服务器,AWS 会每天自动备份它,最后一次备份是在我出错前 15 分钟。我的裤子现在是棕色和黄色的,但一切都很好,我感谢所有回答的人!

最佳答案

您可以阅读有关该命令的文档:

check
repair

和工具

mysqlcheck
myisamchk
...

我的建议:但首先,如果数据非常重要,出于安全原因,您可能必须停止磁盘上的任何读/写过程,并且可能会停止磁盘。

以后:在任何修改之前总是做你自己的备份,即使是这些修复/检查命令也是如此

mysqldump 
mysqlhotcopy

关于php - MySQL ALTER TABLE 删除表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25050805/

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