doc.dev1x.org

JSON保存テーブル

1. 目的

2. 課題

3. 解決策

JSONをデータに持つフィールドを作成する

CREATE TABLE answers (
    id int AUTO_INCREMENT PRIMARY KEY,
    survey_id int NOT NULL,
    user_id  int NOT NULL,
    answers text NOT NULL,  -- JSONが保存されるカラム
    submitted_at DATETIME DEFAULT NOW()
);

4. メリット

5. デメリット

6. 注意

インデックス設計

CREATE INDEX idx_answers_q1 ON responses ((answers->>'q1'));
CREATE INDEX idx_answers_gin ON responses USING GIN (answers);

外部キー制約が必要な場合

バリデーション

集計・分析用途

参考資料