MySQL+PHP で記入項目を追加・変更できるアンケート用紙のようなものを作っていて、
アンケート用紙のテーブル enquetes、入力欄のテーブル input_fields と、入力値のテーブル input_values を用意してあります。
enquetes のカラムは id, name(記入者)のみで、
input_fields は id, label(項目名)
input_values は id, enquete_id, input_field_id, value(入力値)
という構成です。(id はすべて AUTO_INCREMENT)
1つの enquete は複数の input_fields から成り、それぞれの input_fields には対応する input_values があるという関係性です。
新規登録の場合は何も考えずに INSERT で出来ますが、アンケートを編集する場合は、
変更のあったレコードのみ書き換え、新しい項目があれば追加し、なくなった項目があれば削除するという処理をしようと思います。
今のところは
lang
1DELETE FROM input_values WHERE enquete_id = ?; 2INSERT INTO input_values(...)
で古い値をすべて消してしまってから INSERT で新規追加していますが、input_values.id がどんどん増えていってしまうのが少し気になります。
このようなケースではどのような実装をするのがいいのでしょうか?
MySQL は 5.5、言語は PHP 5.6 を使っていますが流れがわかれば他の言語で構いません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/13 01:06