前提・実現したいこと
DBに格納してあるJSON形式の値を取得したいです。
普通の値は取得することができるのですが、JSON形式のところ(LastUpdatedAt)のみ0になってしまっています。
GO内でのJSONの扱いについて勉強中であまり理科営できておりません。
自身でも調査を実施していますが、もしお分かりになる方がいらっしゃいましたら是非ご教授いただきたいです。
よろしくお願い致します。
JSON形式の値( {"Nanos": 5353, "Seconds": 234}など)を、どのようにGOの実装でSQLで取得するのかを教えていただきたいです。
発生している問題・エラーメッセージ
エラーが出ているわけではないのですが、存在しているLastUpdatedAtの値が0として取得されております。
該当のソースコード
type User struct {
id uint64
lastName string
lastUpdatedAt *timestamppb.Timestamp json:"lastUpdatedAt"
}
var user User err = db.QueryRow("select * from users2 where id = ?", id).Scan(&user.id, &user.lastName, &user.lastUpdatedAt)
試したこと
ここに問題に対して試したことを記載してください。
取得したいテーブル
+------+----------+---------------------------------+
| ID | LastName | LastUpdatedAt |
+------+----------+---------------------------------+
| 2534 | taro | {"Nanos": 5353, "Seconds": 234} |
+------+----------+---------------------------------+
+----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| LastName | varchar(30) | NO | | NULL | |
| LastUpdatedAt | json | NO | | NULL | |
+----------------+-------------+------+-----+---------+----------------+
ここにより詳細な情報を記載してください。
mysql Ver 14.14 Distrib 5.7.34, for Win64 (x86_64)