В формах разное число полей. Вы предлагаете делать для каждого поля формы свое поле в БД? Т. е. сделать в таблице поля field1, field2, field3...? А если появится новая форма - нужно будет в БД добавлять поля? Я не прошу готовое решение, я прошу направление, в котором нужно копать, чтобы эту задачу решить.
Айнур Бирдин, я правильно понял, что в Вашем примере будет искать только конкретное значение внутри JSON? Задача избежать дублирования данных их формы в БД. Т. е. если в БД уже есть точно такие же данные, как введены в форму, то не создавать новую запись. Поэтому нужно чтобы все значения внутри JSON в БД соответствовали JSON из формы. Если я понял неправильно, поправьте, пожалуйста.
Upd.
Строка ALTER TABLE `table` ADD FULLTEXT INDEX `idx_data_fulltext` (`data`);
выдает ошибку #3152 - JSON column 'data' supports indexing only via generated columns on a specified JSON path.