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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 GORM SQLite 中強(qiáng)制執(zhí)行外鍵約束

在 GORM SQLite 中強(qiáng)制執(zhí)行外鍵約束

Go
慕尼黑5688855 2022-10-17 16:05:22
答:db.Exec("PRAGMA foreign_keys = ON")用于強(qiáng)制執(zhí)行外鍵約束檢查。謝謝@outdead當(dāng)我使用 GORM 更新我的 SQLite 數(shù)據(jù)庫時(shí),不會(huì)強(qiáng)制執(zhí)行外鍵約束。我有這兩個(gè)模型:type Cat struct {    ID      int       Name    string    Breed   string    OwnerID int      Owner   Owner }type Owner struct {    ID    int       Name  string    Phone string}它正確地創(chuàng)建了一個(gè)外鍵約束,其中owner_id引用id. owners這可以通過.schema cats在 SQLite shell 中運(yùn)行:CREATE TABLE `cats` (`id` integer,`name` text,`breed` text,`owner_id` integer,PRIMARY KEY (`id`),CONSTRAINT `fk_cats_owner` FOREIGN KEY (`owner_id`) REFERENCES `owners`(`id`));我試過PRAGMA foreign_keys = ON;在 SQLite shell 中運(yùn)行命令時(shí)強(qiáng)制執(zhí)行外鍵。如果我嘗試將 an 更新為中不存在的owner_idan ,我會(huì)得到:,這是我想要的行為,但是,GORM 仍然能夠執(zhí)行這些更新而不會(huì)收到此錯(cuò)誤。idownersError: FOREIGN KEY constraint failed
查看完整描述

1 回答

?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊

您需要執(zhí)行查詢才能PRAGMA foreign_keys在更新之前打開


if res := db.Exec("PRAGMA foreign_keys = ON", nil); res.Error != nil {

    return res.Error

}


查看完整回答
反對(duì) 回復(fù) 2022-10-17
  • 1 回答
  • 0 關(guān)注
  • 192 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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