Saya mempunyai struktur berikut (dipotong untuk kebolehbacaan)
type schedule struct { id int userid int user user `gorm:"embedded;foreignkey:userid;references:userid"` }
Dan kemudian inilah struktur pengguna saya (sekali lagi dipotong untuk kebolehbacaan):
type user struct { id int userid int isactive bool }
Saya mendapat nilai dalam struktur schedule
结构上尝试 createinbatches
(如 []schedule
)。但是当我这样做时,插入查询还尝试插入 user
.
Sisipkan contoh (bahagian kod):
err := db.transaction(func(tx *gorm.db) error { if err := tx.createinbatches(&schedules, len(schedules)).error; err != nil { return err //rollback } }
Untuk kesempurnaan, berikut adalah ralatnya:
Error Inserting Schedule Batch: Error 1054: Unknown column 'is_active' in 'field list'
Adakah teg atau apa-apa sahaja yang boleh saya lakukan untuk menghilangkan struktur pengguna daripada pertanyaan sisipan? Apabila saya mengeluarkan pertanyaan, ia menunjukkan
insert into schedule(计划列...,[附加用户结构列])
Saya juga mencuba tag kebenaran medan berdasarkan dokumentasi di sini
Masalahnya ialah anda berada dalam tag schedule
结构中为 user
使用 embedded
. Apabila anda mengeluarkannya, ia sepatutnya berfungsi seperti yang diharapkan. Anda boleh membaca tentangnya dalam Dokumen
Jadi struktur schedule
anda sepatutnya kelihatan seperti ini:
type Schedule struct { ID int UserId int User User `gorm:"foreignKey:UserId;references:UserId"` }
Atas ialah kandungan terperinci GORM CreateInBatches dengan ralat struktur terbenam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!