>JSONК сожалению это жизнь и JSON проник везде. И иногда проще вставить JSON, чем создавать таблицу на 20 колонок в которую будем раскладывать на колонки, и потом собирать в одни объект обратно. Есть простое правило, если с данными работают атомарно (не нужно читать или изменять отдельные поля внутри), то так даже эффективнее хранить в одной колонке.
>check constraint
>Prior to MySQL 8.0.16, CREATE TABLE permits only the following limited version of table CHECK constraint syntax, which is parsed and ignored:
>Before MariaDB 10.2.1 constraint expressions were accepted in the syntax but ignored.
До каких-то версий, синтаксис поддерживался, но по факту ничего не происходило. Разве можно такой СУБД пользоваться, которая так легкомысленно к стандарту относится. Деление на ноль даёт NULL. Ещё позволяет указывать в SELECT колонки которых нет в GROUP BY или агрегатные функции. С одной стороны может удобно, с другой может выдать значение из любой строки.