ситуация, когда пользователь добавил в корзину два товара, потом с телефона добавил еще два, а потом зашел с третьего устройства, и что он в таком случае увидит?
Заметьте размер полей возрастет в 25%
"Если data.highth != null"
insert into af_table3 (surname, highth)
если поле вообще не заполнять в data, то тут еще труднее будет сделать,