みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

解決済みの質問

MySQLで日記を作成

MySQLのDBに簡単な日記を保存したいのですが、
データのレコード方法のアドバイスをお願いします。

記録する項目は、日付、題名、本文としたときを想定します。
DBに既に8/1の日記、8/3の日記、という順にデータがレコードされているとします。
今、8/2の日記をレコードしようとします。
このときの考えられる記録の処理で、

1.DBの末尾に8/2のデータを記録する。
 出力の際に、日付でソートする。

2.DBに既に登録してあるデータを日付でソートし、8/1、8/2、8/3の順で記録する。
 出力はデータの順番通り。

どっちの方がスマートでしょうか。
アドバイス、お願いします。

投稿日時 - 2005-08-23 02:01:57

QNo.1598283

困ってます

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

Mysqlにはファイルに保存するテキストデータやCSVデータにある「データの順番」という概念はありません。
効率のよい形で保存されますので、データの取り出しは日付でソートすることになります。

投稿日時 - 2005-08-23 11:00:06

お礼

回答、ありがとうございます。
効率の良い日付のレコード方法を、よろしければお教えください。

たとえば、
2005/08/28のように日付データを1つにするか、
2005,08,28のようにデータを3つに区切るとか。

投稿日時 - 2005-08-28 21:59:52

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

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

回答(3)

ANo.3

date型 で保存するのが良いと思います。

投稿日時 - 2005-08-29 10:18:53

ANo.1

この場合は例えば INSERT INTO DIARY VALUES ('2005/08/22', 'タイトル', 'いい天気だった); と発行すればよいだけで、あなたが「内部でどのような順で記録されているか」を意識する必要はありません。

記録するのは INSERT 文で、日付順にソートして表示させるのは SELECT 分の ORDER BY 句です。

投稿日時 - 2005-08-23 03:00:53

補足

早速の回答、ありがとうございます。
日付が2005/08/22のような形式の場合は、
どのようにソートすればよいのでしょうか。

投稿日時 - 2005-08-23 15:39:37

あなたにオススメの質問