Rumah >pembangunan bahagian belakang >Golang >Go time.Time to postgresql timestamptz tidak boleh disimpan menggunakan time.Now()

Go time.Time to postgresql timestamptz tidak boleh disimpan menggunakan time.Now()

WBOY
WBOYke hadapan
2024-02-05 22:42:081261semak imbas

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

Kandungan soalan

Hai, saya baru mengenali golang dan saya cuba memasukkan nilai masa.Now(). Pembolehubah jenis Masa Perkara yang aneh ialah saya tidak menerima ralat mahupun komit diproses, sebaliknya pelaksanaan kod dihentikan apabila saya cuba memasukkannya. Bolehkah seseorang membantu saya melihat nilai yang perlu saya cuba?

Pangkalan data: ALTER JADUAL abc TAMBAH LAjur DIBUAT cap waktu NULL;

struktur{ Masa penciptaan.masa db:"已创建" }

Nilai yang telah ditetapkan sebelum dimasukkan Cipta = masa.Sekarang()

Saya mahu pangkalan data disimpan dengan rekod baharu


Jawapan betul


Untuk mana-mana perpustakaan luaran dapat melihat medan struct anda, mereka perlu dieksport, iaitu nama mesti bermula dengan huruf besar .

Memandangkan definisi anda menggunakan huruf kecil created 时间,因此只有包内的代码才能看到该字段。这就是为什么您的数据库接口将“created”设置为 null - sepanjang pengetahuannya, tiada nilai disediakan untuk medan ini.

type Foo struct { 
    Created time.Time db:"created"
}

Nota: Jika anda menggunakan gorm untuk berinteraksi dengan pangkalan data, ia sebenarnya menyokong perkara yang anda cuba lakukan secara lalai, cuma namakan medan struct createdat: https://gorm.io/docs/conventions.html#createdat

Atas ialah kandungan terperinci Go time.Time to postgresql timestamptz tidak boleh disimpan menggunakan time.Now(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam