MySQLのAUTO_INCREMENT列はalter tableで再設定できるが、存在する番号以下にはできない

https://dev.mysql.com/doc/refman/8.0/ja/alter-table.html

現在の自動インクリメント値をリセットするには:
ALTER TABLE t1 AUTO_INCREMENT = 13;
このカウンタを、現在使用されている値以下の値にリセットすることはできません。
設定値が現在 AUTO_INCREMENT カラム内にある最大値以下である場合、この値は現在の AUTO_INCREMENT カラムの最大値に 1 を加えた値にリセットされます。

-- テスト用テーブル作成
create table inc_test(
    record_id int unsigned not null AUTO_INCREMENT,
    text varchar(32) not null,
    PRIMARY KEY (record_id)
);

-- 最初は、連番1から振られる
insert into inc_test(record_id, text) values (null, 'aaa');
insert into inc_test(record_id, text) values (null, 'bbb');
insert into inc_test(record_id, text) values (null, 'ccc');
select * from inc_test; -- 1, 2, 3 のレコードIDが振られる

-- 大きいレコードIDのデータを入れると、その次の番号から振られる
insert into inc_test(record_id, text) values (1000, 'ddd');
insert into inc_test(record_id, text) values (null, 'eee');
select * from inc_test; -- 1, 2, 3 に加えて、1000, 1001 のレコードIDが振られる

-- 大きい値を削除しても auto_increment はリセットされない
delete from inc_test where record_id >= 1000; -- 1001, 1002 削除
insert into inc_test(record_id, text) values (null, 'fff');
select * from inc_test; -- 1, 2, 3 に加えて、1002 のレコードIDが振られる

-- alter table で auto_increment を設定しても、テーブル内にそれより大きい値があると無意味
alter table inc_test AUTO_INCREMENT = 10;
insert into inc_test(record_id, text) values (null, 'ggg');
select * from inc_test; -- 1, 2, 3, 1002 に加えて、1003 のレコードIDが振られる

-- 大きい値を削除してから alter table で auto_increment を設定すると、連番がその値から振られる
delete from inc_test where record_id >= 1000; -- 1002, 1003 削除
alter table inc_test AUTO_INCREMENT = 10;
insert into inc_test(record_id, text) values (null, 'hhh');
select * from inc_test; -- 1, 2, 3 に加えて、10 のレコードIDが振られる

-- テスト用テーブル削除
drop table inc_test;