第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

遠程數(shù)據(jù)庫和 SQL 服務(wù)器:自動遞增不起作用

遠程數(shù)據(jù)庫和 SQL 服務(wù)器:自動遞增不起作用

Go
侃侃無極 2022-09-19 17:32:38
我正在嘗試使用 GORM 將新值插入到我的 SQL 服務(wù)器表中。但是,它不斷返回錯誤。您可以在下面找到詳細示例:type MyStructure struct {    ID                     int32                    `gorm:"primaryKey;autoIncrement:true"`    SomeFlag               bool                     `gorm:"not null"`    Name                   string                   `gorm:"type:varchar(60)"`}執(zhí)行以下代碼(在事務(wù)內(nèi)創(chuàng)建)myStruct := MyStructure{SomeFlag: true, Name: "XYZ"}result = tx.Create(&myStruct)    if result.Error != nil {        return result.Error    }導(dǎo)致以下錯誤:無法將值 NULL 插入到列“ID”、表“dbo”中。我的結(jié)構(gòu)';列不允許空值。插入失敗然后,由 GORM 生成的 SQL 查詢?nèi)缦滤荆篒NSERT INTO "MyStructures" ("SomeFlag","Name") OUTPUT INSERTED."ID" VALUES (1, 'XYZ')另一方面,直接在數(shù)據(jù)庫連接上執(zhí)行創(chuàng)建(不使用事務(wù))會導(dǎo)致以下錯誤:表“我的結(jié)構(gòu)”沒有標識屬性。無法執(zhí)行 SET 操作然后,由 GORM 生成的 SQL 查詢?nèi)缦滤荆篠ET IDENTITY_INSERT "MyStructures" ON;INSERT INTO "MyStructures" ("SomeFlag", "Name") OUTPUT INSERTED."ID" VALUES (1, 'XYZ');SET IDENTITY_INSERT "MyStructures" OFF;在這種情況下,如何使自動遞增工作?為什么我會收到兩個不同的錯誤,具體取決于它是內(nèi)部交易還是外部交易?
查看完整描述

3 回答

?
慕哥6287543

TA貢獻1831條經(jīng)驗 獲得超10個贊

我在戈爾姆的問題中發(fā)現(xiàn)了這一點:

gorm.DefaultCallback.Create().Remove("mssql:set_identity_insert")

https://github.com/go-gorm/gorm/issues/941#issuecomment-250267125


查看完整回答
反對 回復(fù) 2022-09-19
?
一只甜甜圈

TA貢獻1836條經(jīng)驗 獲得超5個贊

嵌入 gorm 總是更好。默認情況下提供字段的結(jié)構(gòu)中的模型:ID、創(chuàng)建時、更新時、已刪除。默認情況下,ID 將是主鍵,并且它是自動遞增的(由 GORM 管理)


type MyStructure struct {

    gorm.Model

    SomeFlag               bool                     `gorm:"not null"`

    Name                   string                   `gorm:"type:varchar(60)"`

}

刪除現(xiàn)有表:并再次創(chuàng)建表:,然后嘗試插入記錄。db.Migrator().DropTable(&MyStructure{})db.AutoMigrate(&MyStructure{})


查看完整回答
反對 回復(fù) 2022-09-19
?
海綿寶寶撒

TA貢獻1809條經(jīng)驗 獲得超8個贊

只需更換您的結(jié)構(gòu)


type MyStructure struct {

    ID                     int32                    `gorm:"primaryKey;autoIncrement:true"`

    SomeFlag               bool                     `gorm:"not null"`

    Name                   string                   `gorm:"type:varchar(60)"`

}

與此


type MyStructure struct {

    ID                     int32                    `gorm:"AUTO_INCREMENT;PRIMARY_KEY;not null"`

    SomeFlag               bool                     `gorm:"not null"`

    Name                   string                   `gorm:"type:varchar(60)"`

}


查看完整回答
反對 回復(fù) 2022-09-19
  • 3 回答
  • 0 關(guān)注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號