ホームページ  >  記事  >  バックエンド開発  >  go time.Time to postgresql タイムスタンプを time.Now() を使用して保存することはできません

go time.Time to postgresql タイムスタンプを time.Now() を使用して保存することはできません

WBOY
WBOY転載
2024-02-05 22:42:081198ブラウズ

转到 time.Time 到 postgresql timestamptz 无法使用 time.Now() 保存

質問内容

こんにちは、私は golang を初めて使用するのですが、time.Now() 値を挿入しようとしています。 Time 型の変数 奇妙なことに、エラーも受け取らず、コミットも処理されず、コードを挿入しようとすると実行が停止されてしまいます。どの値を試すべきかを誰かが教えてくれますか?

データベース: ALTER TABLE abc ADD COLUMN CREATED タイムスタンプ NULL;

###構造{ 作成時刻。時刻

db:"Created" }

挿入前に設定されていた値 作成 = time.Now()

データベースを新しいレコードとともに保存したいです


正解


外部ライブラリが必要な構造体フィールドを表示できるようにするにはつまり、名前は大文字で始まる必要があります。

定義では

created 時間を小文字で定義しているため、パッケージ内のコードのみがこのフィールドを参照します。そのため、データベース インターフェイスは "created" を null に設定します。データベース インターフェイスが知る限り、このフィールドには値が提供されていません。 リーリー

注: gorm を使用してデータベースと対話している場合は、実際にデフォルトで実行しようとしていることをサポートします。構造体フィールドに

createdat: https:// という名前を付けるだけです。 gorm.io /docs/conventions.html#createdat

以上がgo time.Time to postgresql タイムスタンプを time.Now() を使用して保存することはできませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。