MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
Q&A
解決済
2回答
487閲覧
総合スコア5
0グッド
0クリップ
投稿2019/10/07 10:27
0
MySQLでDateTime型を定義しています。 設計上、できるだけNULLを排除したいのですが、 NOT NULLを設定すると、'0000-00-00 00:00:00'が挿入されてしまいます。 NULLの方がまだ良いかと思いますが、 通常はどちらのパターンでの設計が多いのでしょうか? (環境上、my.cnf等は変更できないです) 宜しくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
ベストアンサー
今となっては NULL のほうがいいかと思う。 なぜなら、MySQL5.7 からは(デフォルト設定では)、0000-00-00 00:00:00 はエラーとして扱う。 つまりバージョンアップはできなくなる。
NULL
0000-00-00 00:00:00
少なくともMySQLの開発チームは 0000-00-00 00:00:00 ってデータが入るのはおかしいと言う結論に達しているのであろうから、それに従うほうが良いでしょう。
投稿2019/10/07 10:34
退会済みユーザー
総合スコア0
回答へのコメント
2019/10/08 00:45
普通に運用する限りNULLは避けたほうがよいでしょう むしろdatetimeを指定しないという運用方法が間違いなだけで どうしてもというならデフォルトを0年1月1日するだけです
SQL1create table tbl(id int primary key,d datetime not null default '0000-01-01 00:00:00');
SQL
1create table tbl(id int primary key,d datetime not null default '0000-01-01 00:00:00');
投稿2019/10/07 10:41
総合スコア118147
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
MySQLDateTime型の設計方法
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/08 00:45