Я бы заменил эту таблицу на отношение «Один ко многим»
Добавляем поле «номер», и через него контролируем порядок следования
Структура следующая:
main_table (id, bla bla bla)
и
detail_table (id, id_main_table, string, number)
Добавляем уникальный ключ на detail_table (id_main_table, number)
Для поддержки старого лапшакода нужно добавить VIEW TABLE1 основанный на
select m.*, d1.string string1, d2.string string2,… d20. string string20 from main_table m
left join detail_table d1 on d1.id = m.id_main_table and d1.number = 1
left join detail_table d2 on d2.id = m.id_main_table and d2.number = 2
…
left join detail_table d20 on d20.id = m.id_main_table and d2.number = 20