Jauh di bawah MySQL 8 CTE halaman manual
adalah contoh yang menunjukkan masalah yang Anda alami. Pada dasarnya masalahnya adalah ids your Anda kolom terlalu sempit untuk ABC nilai yang diberikan padanya karena mendapat lebarnya dari bagian non-rekursif dari CTE (yang secara efektif merupakan panjang ids yaitu 2 karakter). Anda dapat memecahkan masalah itu dengan CAST dengan lebar yang cukup besar agar sesuai dengan semua hasil misalnya:
with recursive cte(greatest_id, ids, total) as (
select id,
CAST(id AS CHAR(5)) AS ids,
val
from tbl
union all
select tbl.id,
concat(cte.ids, tbl.id),
cte.total + tbl.val
from cte
inner join tbl
on tbl.id > cte.greatest_id
and cte.total + tbl.val <= 6
)
select ids, total from cte