• ベストアンサー

MySQLで日記を作成

MySQLのDBに簡単な日記を保存したいのですが、 データのレコード方法のアドバイスをお願いします。 記録する項目は、日付、題名、本文としたときを想定します。 DBに既に8/1の日記、8/3の日記、という順にデータがレコードされているとします。 今、8/2の日記をレコードしようとします。 このときの考えられる記録の処理で、 1.DBの末尾に8/2のデータを記録する。  出力の際に、日付でソートする。 2.DBに既に登録してあるデータを日付でソートし、8/1、8/2、8/3の順で記録する。  出力はデータの順番通り。 どっちの方がスマートでしょうか。 アドバイス、お願いします。

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

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

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

hana_Z
質問者

お礼

回答、ありがとうございます。 効率の良い日付のレコード方法を、よろしければお教えください。 たとえば、 2005/08/28のように日付データを1つにするか、 2005,08,28のようにデータを3つに区切るとか。

その他の回答 (2)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.3

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

回答No.1

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

hana_Z
質問者

補足

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

関連するQ&A