• ベストアンサー

mySQLで指定したカラムに一致するものに追加

【名字、名前、昨日のメモ、今日のメモ】というカラムがあります。 名字、名前、昨日のメモは過去のデータなので、新しく今日のメモを追加したい場合どうしたらよいでしょう? また、一括でデータを挿入するときに、名字・名前の両方一致するものがないデータがあれば新しくレコードを作るという風にしたいのですが、可能でしょうか? なお、同姓同名は存在しないものとします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

あ、1です。 新しくレコードを追加するんでしたね^^; 先ほどの例だと「今日のメモ」を上書きしてしまっていました。 (名字、名前が既に登録されていたら今日のメモを上書き、 名字、名前が一致しなければレコードを追加するというSQL文でした) あたらしくレコードを追加するのはINSERT INTOです。 主キーの設定をしなければどんどん追加できますけど、名前と名字がかぶってしまって無駄になってしまいますね。 私ならテーブルの構成はこうします 名簿テーブル ・ID (主キー) ・名字 ・名前 メモテーブル(主キーなし) ・ID ・日付 ・メモ メモがあればメモテーブルにどんどんINSERTしていけばいいと思います。 メモの内容の変更はをUPDATEでWHERE句でIDと日付を指定すればいいと思いますー^^v

その他の回答 (1)

回答No.1

(1)主キー を 名字 と 名前 にする (2)REPLACE INTOを使う。 [SQL文の例] REPLACE INTO テーブル名 (テーブル名.名字, テーブル名.名前, テーブル名.今日のメモ) VALUES ('たなか', 'じろう', '銀行へ支払に行く'); これでどうーでしょう^^