MySQLのJSON型を使ってみる
MySQLは、バージョン5.7からJSON型がサポートされています。
MySQL :: MySQL 5.7 Reference Manual :: 11.5 The JSON Data Type
5.7のリリースは2015年なのでだいぶ前ですが、今さらながら使ってみました。
こういう入力フォームがあって:
しかも増やせる:
さらに1回フォーム送信したら終わり、ではなく、後日サーバからデータを読み出して編集したい。
…という仕様のWebフォームを作っていました。
このデータを保存するためにJSON型のカラムを用意して、
[{"label": "Category", "value": "xxx"}, {"label": "Input 1", "value": "yyy"}, ...]
のようなJSONを保存。フロントエンドとはJSONでやりとりするので、そのまま読み出し・書き込み(更新時は丸ごと書き換え)をします。
JSONフォーマットがおかしい場合はエラーが出るのも良いです。