使用 after 关键字更改 table 时出现 "Channel number out of range" 错误

Getting "Channel number out of range" error when altering table using after keyword

我有一个带有一些外键和触发器的 MariaDB table。出于某种原因,当我尝试使用 AFTER 关键字更改它时出现错误。

如果我运行这个:

ALTER TABLE `foo` ADD COLUMN baz VARCHAR(190) NULL DEFAULT NULL AFTER `bar`;

我收到这个错误:

ERROR 1030 (HY000): Got error 44 "Channel number out of range" from storage engine InnoDB

然而,如果我 运行 这个:

ALTER TABLE `foo` ADD COLUMN baz VARCHAR(190) NULL DEFAULT NULL;

它有效,但(正如预期的那样)没有按照我需要的顺序组织列。

知道如何使用我需要的列顺序让它工作吗?

更新:

我还没有弄清楚这个问题,但我确实尝试用 AFTER 关键字对其他 table 进行更改,结果发现这个问题专门发生在这个 table,其他tables 功能正常。

发生错误是因为 MariaDB 运行 在 Windows 文件系统上,通过 WSL 共享到 Docker 容器 (/mnt/c/Git/my_project)。

为了修复它,整个容器被移动到 WSL 文件系统 (~/my_project),然后带有 AFTER 关键字的 ALTER 命令工作正常。