質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

4回答

4954閲覧

現在時刻の挿入

avantgarden

総合スコア121

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2017/02/09 02:21

編集2017/02/09 02:55

仕事でSQLを大量に作って実行させているのですが、「updated_date」というカラムにnow()を挿入した結果、そのカラムには「2147483647」と入っていました。(SQLはinsert文です)

from_unixtimeで時刻をみると「2038-01-19 12:14:07」と
なるので、明らかにおかしいです。(システム上の上限の時刻?)

「updated_date」はint(11)となっていますが、これがおかしいのでしょうか。

恐らく初歩的な質問だと思いますが、よろしくお願いします。

<追記>

過去に挿入されているレコードをみると、「updated_date」に「1461307915」のような値が入っています。これをfrom_unixtimeで見ると、2016年1月の、正しいと思われる時刻が返ってきます。

now()ではなく、違う入れ方なのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

granfa_yuzo

2017/02/09 02:28

DATE型とせず、INT型を指定したのには、何か理由がありますか?
avantgarden

2017/02/09 02:53

不明です。普通はdatetime型にすると思うのですが・・・
granfa_yuzo

2017/02/09 03:40

unix_timestamp(now()) で期待する結果を得られるのではないかと思います。
guest

回答4

0

MySQLのNOW()は、数値を求められる場面で使うと、YYYYMMDDHHMMSS形式の数値(20170209112600のような値)を返します(リファレンス)。

これはint(11)の限界より大きいので、列に入れると最大値に張り付きます。

投稿2017/02/09 02:27

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

avantgarden

2017/02/09 15:11

理由が理解できました。ありがとうございます。
guest

0

ヒントで、
SQLには日付と時間型が用意されているので、テーブル定義にもお使いください。

投稿2017/02/09 02:31

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

動作確認できていませんので、間違っていたらごめんなさい。

https://dev.mysql.com/doc/refman/5.6/ja/date-and-time-functions.html#function_unix-timestamp の unix_timestamp 関数を
利用すればよいのではないでしょうか?

投稿2017/02/09 05:05

granfa_yuzo

総合スコア356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

granfa_yuzo

2017/02/09 05:11

タグにmysqlとあったので、mysqlに関する案内を書きました。
avantgarden

2017/02/09 15:11

試したところうまくいきました。ありがとうございます。
guest

0

任意の日時を保存しておきたいならdatetime型でしょうね
ただレコードの更新日時を自動的に保存しておくなら
タイムスタンプを利用するとよいでしょう

投稿2017/02/09 02:44

yambejp

総合スコア114829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問