って知ってました?自分は知りませんでした…
TheINSTANTalgorithm can add a column at any position in the table. Before MySQL 8.0.29, theINSTANTalgorithm could only add a column as the last column of the table.
MySQL :: MySQL 8.0 Reference Manual :: 17.12.1 Online DDL Operations
しかしながら、マニアックな制限が存在するようで、The Oracle MySQL Japan BlogのALGORITHM=INSTANTを使用した列追加・削除という記事によると、
この機能を実現するために、行のバージョン管理に関する考え方がテーブル・メタデータに導入されました。(中略)
このような行バージョンの更新と維持にはバックグラウンドでのメンテナンスが必要なので、制限事項を設けています。つまり一つのテーブルに対して最大64回のALTER TABLE ... ADD/DROP操作が可能であるということです。上限に達した後にALTER TABLE ... ADD/DROPを実行するには、一度テーブルの再構築が必要になります。この機能の開発当時、列追加・削除は頻繁に発生する操作ではないと仮定していたため、テーブルの再構築なしで列追加・削除できる上限を64回と設定しました。この数字はユーザーが変更可能な変数ではなく、固定されています。
とのこと。普通は1テーブルに64回もカラム追加することないでしょ、というのはそうですねと思う。
(補足)
ここでいうInstant DDLとは、MySQLにおいて ALTER TABLE foobar ... ALGORITHM=INSTANT; みたく INSTANT アルゴリズムを用いるDDLのことを指す。
INSTANT: Operations only modify metadata in the data dictionary. An exclusive metadata lock on the table may be taken briefly during the execution phase of the operation. Table data is unaffected, making operations instantaneous. Concurrent DML is permitted. (Introduced in MySQL 8.0.12)
MySQL :: MySQL 8.0 Reference Manual :: 15.1.9 ALTER TABLE Statement