質問: ユーザーが質問を投稿でき、それに回答できるというiOSアプリケーションを製作中です。 トップには質問一覧が表示されていて、 1つの質問をタップすると、それに対する回答の一覧が表示させる予定です。(図1) MySQLで質問一覧のテーブルとそれぞれに対する回答のテーブルを作成しましたが、(図2) 質問テーブルと、回答テーブルと結びつける手法がわかりません。 MySQLははじめて触れるため、見当違いな質問をしているかもしれません。 今回のように、あるテーブルともう一方のテーブルを結びつけるためには、 どのような手法があるでしょうか? そもそも、このようなことができるのでしょうか? 関連するキーワードなどをご教示ください。 !画像の説明をここに入力 !画像の説明をここに入力
回答: 前提として**主キー**と呼ばれる列が必要です。具体的に言うと下の表の`id`列のように各レコードで異なる値を持つ列を追加してやります。 ``` id user datetime content 1 田中 yy/mm/dd 地球は... 2 太郎 yy/mm/dd ダンゴムシ... 3 美咲 yy/mm/dd 数学の... ``` 子テーブル側には親レコードの主キーを**外部キー**として登録します。 ``` id 質問 user datetime content 1 1 裕也 yy/mm/dd 海が... 2 1 美咲 yy/mm/dd 太陽の... ``` こうしてやれば質問の主キーに回答一覧を関連付けることが出来ます。 上記の設計はデータベースの機能としてサポートされています。特に主キーは必ず指定するべきです。またMySQLであれば`AUTO_INCREMENT`という主キーを自動生成する機能もあります。