• ベストアンサー

MySQLで日付(date)型のdefaultの設定

DATE型のdefaultの設定は 0000-00-00 となってしまうのですが、 システム日付を設定することは 出来ないのですか?

  • MySQL
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.2

MySQL(Ver4.x)では、デフォルト値に定数しか指定できないようですので、システム日付などをデフォルト値に指定するのは無理なようです。 http://www.mysql.gr.jp/Manual/mysql-4.00.12/manual.ja_Reference.html#CREATE_TABLE ただし、TIMESTAMP型にすれば、値を自動更新することはできます。(一つのテーブルにつき一つまでですが) http://www.mysql.gr.jp/Manual/mysql-4.00.12/manual.ja_Reference.html#DATETIME 例)  up_date TIMESTAMP(8) このばあい、そのフィールドの値を指定しなければ、UPDATEなどの際にも自動更新されてしまうので、ご注意下さい。

rabu_chihaha
質問者

お礼

ありがとうございます。 最終更新日を記録したいだけでしたので、 TIMESTAMPで十分です。

その他の回答 (1)

回答No.1

質問の意図がいまいちはっきりしませんが、 型は型なのでこれで合っていると思います。 現在の日付をセットしたいということでしたら、 update foo set birthday = NOW(); などとすると良いです。

rabu_chihaha
質問者

補足

すみません。 テーブル作成時に出来ないでしょうか? 例えば create table abc( id char(5), price int default 1 udate date ); priceのようにdefaultで INSERTされた時に、特に指定がない場合 現在の日付をセットできませんか?

関連するQ&A

  • Mysql DATE型のDEFAULT値

    初心者ですが、よろしくお願いします。 Mysqlでテーブルを作成して、カラムにDATE型を指定するとDEFAULT値が設定できません、、、。 これはMysqlの仕様なのでしょうか? ちなみに、TIMESTAMP型だと、'DEFAULT CURRENT_TIMESTAMP'でDEFAULT設定できます、、。 -- クエリ CREATE TABLE test ( column_name DATE NOT NULL DEFAULT CURRENT_DATE ); >> エラー ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_DATE)' at line 1 Mysql::ABも調べたのですが、よく分かりませんでした。 よろしくお願いします。 MySQLバージョン 5.0.41

  • MySQL Date型にNULLが設定できない。

    csvファイルからMySQLにデータを取り込む際に、Date型やint型にNULLを設定するにはどうしたらよいでしょうか。 以下のようなテーブルに | tTest | CREATE TABLE `ttest` ( `ID` bigint(20) NOT NULL, `title` text NOT NULL, `naiyou` varchar(100) DEFAULT NULL, `kaishi` date DEFAULT NULL, `owari` date DEFAULT NULL, `peirod` bigint(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=sjis | 以下のようなcsvファイルを読み込んだとき(*)、 10,テスト,2008-04-05,2009-04-23,43 11,テスト,2008-04-05,NULL,43 12,テスト,2008-04-05,2009-04-23,NULL 2行目のNULLで ERROR 1292 (22007): Incorrect date value: 'NULL' for column .... とエラーが発生します。 3行目のNULLでもint型ですが同様にエラーとなります。 一方、insertで行の追加以下のようにした場合は成功します。 insert into tTest values (12,テスト,'2008-04-05',NULL,NULL) 外部ファイルから読み込んだ場合にNULL値を設定するにはどのようにしたらよいのでしょうか。 (*)以下のコマンド LOAD DATA INFILE "E:\\work\\MySQL\\sample.csv" INTO TABLE tTest FIELDS TERMINATED BY "," LINES TERMINATED BY "\r\n";

    • ベストアンサー
    • MySQL
  • 取り出した日付の表示

    phpにてDBに格納されている日付データを取り出した際にデフォルトで "2007-06-04"のように表示されてしまいますが、これを "07/06/04"や"07.06.04"のように表示するにはどうすればよいのでしょうか? MySQLのフィールドタイプはdateに設定しています。 print date(Y/m/d,"$row["日付フィールド"]");とやるとなぜか、 "1970/01/01"と表示されてしまいます。 普通に、print $row["日付フィールド"]");とやると 2007-06-04と出てしまいます。 どうぞ宜しくお願いします。

    • ベストアンサー
    • PHP
  • DATE()の日付けの固定について

    Date関数の特性として明日になれば明日の日付に自動的に更新されてしまいます。 これをどうにかして「自動的に本日の日付が入るがそのままその日付を更新しない」 という設定にすることはできないでしょうか? Q&AでACCESSがありましたが初心者でACCESSがわかりません。 これを使わずにする方法はありませんか。

  • MySQLの日付について教えて頂けませんでしょうか。

    MySQLの日付について教えて頂けませんでしょうか。 月間のデータを抽出しようと思うのですが between '2010-02-01' and '2010-02-28 23:59:59' →これだと59から00の1秒が抜ける様に思いますが、認識違いでしょうか? reg_date >= '2010-02-01' AND reg_date < '2010-3-01' →これでも大丈夫なようですが、他の表現方法がありましたら是非アドバイス宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • DEFAULT が設定できないのです

    下記の文でテーブルを作ろうとしたところ、 テーブルは作れるのですが、値は何も設定できません。 デフォルト値の設定をしたいのですが、 この文は何が間違っているのでしょうか。 ご教授願います。 CREATE TABLE tbl_id ( id int NOT NULL DEFAULT 1 );

    • ベストアンサー
    • MySQL
  • 固定の日付を設定したい

    OS:Windows XP ある アプリを起動するときにだけ  固定した日付を設定する必要があり  しかたなく「日付と時刻のプロパティ」からマニュアル設定 あるいは DOS command の DATE コマンドを利用しておりますが できれば マニュアル操作ではなく  たとえば 日付データを 作成しておいて ショートカット等で  簡単に 日付が 変更できるといいのですが どなたか マニュアル操作をせずに 変更できる方法を教えてください

  • openofficeのデフォルト日付表記を変更

    お世話になります。 openoffice calcでファイルを開くと、yyyy/mm/ddの日付が、○月○日形式で表示されます。 デフォルトをyyyy/mm/dd(あるいはそのまま)にできるでしょうか。 セルの書式設定で都度変更するのではなく、デフォルトを変更できればと思っております。 お手数ですが、ご回答よろしくお願い致します。

  • date関数について

    date関数は「現在のシステムの日付を返す」とありますが、 システムの日付は[設定]-[コントロールパネル]-[地域のオプション]でしか変えることができないのでしょうか。 また、OSの問題かどうかわからないのですが、windowsNTサーバではその設定を変えることによって、 dete関数で西暦を2桁にしたり4桁にしたり可能なのですが、 windows2000サーバではそこの設定をしても、システムの日付は西暦4桁のままなのです。 どうしても、西暦2桁をとりたいのですが、どうにかならないものでしょうか。 ちなみに、FormatDateTime関数も試しましたが、ダメでした・・・。

  • パソコンの日付設定について

    私がインターネットによくのっている 方法で日付設定をやろうとしたのですが システムの時刻を変更する・・・・・・・ というエラー(?)がでてきてしまいます とうすればいいでしょうか? 教えてください