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

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

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

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

MySQL

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

Q&A

解決済

2回答

1511閲覧

golang + MySQLで秒単位を00で切り捨てたtimestampをInsertしたい

sanezane

総合スコア91

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

MySQL

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

0グッド

0クリップ

投稿2020/07/03 06:32

やろうとしていること

イメージとしては株価の分足ローソクをテーブルで管理したいです。そのためgolangで取得したtimestampを秒単位をtruncateして00秒に補正してからinsertしようとしています。

現状

  • 緑枠のように秒単位で入ってしまう。

イメージ説明

やっている処理

  • golang側でinsertする前に秒単位を00にするようtruncateしています。truncate自体は成功しており、下図の赤枠のようにinsert直前まで秒単位は00として提供されているように見えます。

イメージ説明

何がわからないか

  • コレがDBの仕様なのか、go側に原因があるのか、以降の切り分けの手法がわからず手詰まりしています。助言をいただけると幸いです。

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

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

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

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

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

guest

回答2

0

ベストアンサー

データ取得時にフォーマットするのではダメなのでしょうか。

投稿2020/07/03 06:34

m.ts10806

総合スコア80875

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

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

sanezane

2020/07/03 06:44

データ取得時はダメ(秒足テーブルにも入れている)なので、事前に分足用にフォーマットはしてあります。 その値をinsertしているのに秒単位が入っている。という質問でした。。。説明不足ですみません。
m.ts10806

2020/07/03 07:44

要件、前提条件として質問本文に追記願います。 ただ、あとはテーブルのカラムの定義次第と思います。カレントタイムスタンプなどであれば指定値は関係なくなるでしょうし
sanezane

2020/07/03 16:21

原因はMySQLにありました。 ご指摘を参考にテーブル定義を調査したところ、CURRENT_TIMESTAMPになっておりました。MySQL5.7のtimestampはdefault値を指定しないとDEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPが設定されるんですね。 Insertする値がフォーマットされていたとしても関係ないわけでした。 助言をいただいたのでベストアンサーにさせていただきます。
sanezane

2020/07/03 16:23

対応としては以下のようにデフォルト値を追加しました。 CREATE TABLE IF NOT EXISTS `FX_BTC_JPY_1m0s` ( `time` TIMESTAMP PRIMARY KEY NOT NULL DEFAULT '1900-01-01 00:00:01' );
guest

0

PHP

1$now=mktime(0); 2print date("Y-m-d H:i:s"); 3//秒を0に 4print date("Y-m-d H:i:00");

投稿2020/07/03 06:38

yambejp

総合スコア116724

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問