前提・実現したいこと
以下のSQL文をGO言語で実装がしたいです。
通常のupdate分は実装できるのですが、JSON形式の値が入るとうまく実行ができません。(コンパイルはできます)
直接下記のSQLを実行する分には、うまくDBに反映されるので、GOでの書き方が良くないんだと思うのですが、、、
まだ、GOのSQLでJSONをうまく使えておらず、手が止まってしまったので質問させていただきました。
よろしくお願い致します。
【SQL文】
UPDATE users
SET lastname="sss", lastupdatedat
= JSON_SET(lastupdatedat
, '$.Nanos', 5, '$.Seconds', 5) WHERE id="811180";
発生している問題・エラーメッセージ
context.Background.WithCancel.WithValue(type peer.peerKey, val <not Stringer>).WithValue(type metadata.mdIncomingKey, val <not Stringer>).WithValue(type grpc.streamKey, val <not Stringer>)
panic: Error 1064: 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 'where ID=?' at line 1
該当のソースコード
db, err := sql.Open("mysql", "root:taitaitai@/mysql")
fmt.Println(ctx)
if err != nil {
panic(err.Error())
}
defer db.Close()
upd, err := db.Prepare("update users set lastname=?, `lastupdatedat` = json_set(`lastupdatedat`, '$.Nanos', ?, '$.Seconds', ?), where ID=?") if err != nil { panic(err.Error()) } defer upd.Close() if _, err := upd.Exec(inLastName, lastUpdatedAt.Nanos, lastUpdatedAt.Seconds, inID); err != nil { panic(err.Error()) }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー