こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

【名字、名前、昨日のメモ、今日のメモ】というカラムがあります。
名字、名前、昨日のメモは過去のデータなので、新しく今日のメモを追加したい場合どうしたらよいでしょう?

また、一括でデータを挿入するときに、名字・名前の両方一致するものがないデータがあれば新しくレコードを作るという風にしたいのですが、可能でしょうか?

なお、同姓同名は存在しないものとします。

投稿日時 - 2013-07-13 13:28:42

QNo.8174426

すぐに回答ほしいです

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

あ、1です。
新しくレコードを追加するんでしたね^^;
先ほどの例だと「今日のメモ」を上書きしてしまっていました。
(名字、名前が既に登録されていたら今日のメモを上書き、
名字、名前が一致しなければレコードを追加するというSQL文でした)


あたらしくレコードを追加するのはINSERT INTOです。
主キーの設定をしなければどんどん追加できますけど、名前と名字がかぶってしまって無駄になってしまいますね。


私ならテーブルの構成はこうします

名簿テーブル
・ID (主キー)
・名字
・名前

メモテーブル(主キーなし)
・ID
・日付
・メモ

メモがあればメモテーブルにどんどんINSERTしていけばいいと思います。
メモの内容の変更はをUPDATEでWHERE句でIDと日付を指定すればいいと思いますー^^v

投稿日時 - 2013-07-13 14:21:53

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

(1)主キー を 名字 と 名前 にする
(2)REPLACE INTOを使う。

[SQL文の例]
REPLACE INTO テーブル名 (テーブル名.名字, テーブル名.名前, テーブル名.今日のメモ)
VALUES ('たなか', 'じろう', '銀行へ支払に行く');

これでどうーでしょう^^

投稿日時 - 2013-07-13 14:07:31

あなたにオススメの質問