外來鍵對資料更新的影響
外來鍵是指向另一個表中已有資料的約束,因此外來鍵值必須是在目標表中存在的。如果更新後的資料在目標表中不存在的話則會導致違反外來鍵約束異常。T_Debt 表中FPerson 欄位是指向表T_Person的FName 欄位的外來鍵,如果我們執行下面SQL:
UPDATE T_Debt set FPerson = "Merry" WHERE FNumber="1"
由於在T_Person表中不存在FName欄位等於“Merry”的資料行,所以會資料庫系統會報出類似如下的錯誤資訊:
UPDATE 語句與FOREIGN KEY 約束"FKT_DebtFPerson__1A14E395"衝突。該衝突發生於資料庫"demo",表"dbo.T_Person", column "FName"。
而如果我們為FPerson欄位設定已經在T_Person表中存在的FName欄位值的話則會插入成功,執行下面的SQL:
UPDATE T_Debt set FPerson = "Lili" WHERE FNumber="1"
此句SQL則可以正常的執行成功。執行SELECT * FROM T_Debt來查看錶中的資料:
可以看到資料已經被正確的更新到表中了。
相關推薦
外來鍵對資料更新的影響
外來鍵是指向另一個表中已有資料的約束,因此外來鍵值必須是在目標表中存在的。如果更新後的資料在目標表中不存在的話則會導致違反外來鍵約束異常。T_Debt 表中FPerson 欄位是指向表T_Person的FName 欄位的外來鍵,如果我們執行下面SQL: UPDATE T_Debt set FPerson
主鍵對資料更新的影響
主鍵是在同一張表中必須是唯一的,如果在進行資料更新的時候指定的主鍵與表中已有的資料重複的話則會導致違反主鍵約束的異常。T_Debt表中FNumber 欄位是主鍵,如果我們執行下面SQL: UPDATE T_Debt set FNumber = "2" WHERE FPerson="Tom" 由於表中
非空約束對資料更新的影響
正如“非空約束”表達的意思,如果對一個欄位添加了非空約束,那麼我們是不能將這個欄位中的值更新為NULL的。T_Debt表的FAmount欄位是有非空約束的,如果我們執行下面SQL: UPDATE T_Debt set FAmount = NULLWHERE FPerson="Tom" 這句SQL為
MySQL—概念,使用者的建立,主鍵,外來鍵,資料型別,表格建立
MySQL DBMS,MySQL的概念,資料庫分類,以前MySQL的部署中的一些概念 #DBMS:資料庫管理系統,用於管理資料庫的大型軟體。mysql就是dbms的一種 #Mysql:是用於管理檔案的一個軟體 #服務端軟體
HTTP請求頭中的Content-type對資料的影響-Android
最近幾天有點鬱悶,不是因為別人,而是覺得自己做開發兩年時間了,有些基本的東西還是模模糊糊的,導致工作過程在非常被動,而且效率不太如意,公司最近做一個專案,需要跟其它公司的後臺做對接,不得不說,後臺不在自己公司,對接起來效率真的低很多!下面說下問題!一、首先,下
MySQL--外來鍵及資料完整性
外來鍵概述 MySQL中的InnoDB儲存引擎是支援外來鍵的,傳統引擎的不支援。外來鍵是把一個表中的索引列與另一個表中的索引列關聯起來,以實現同步操作的目的,也是保證了資料的完整性 一般實現外來鍵需要兩張或以上的表:主表和從表,比如主表為班級表,從表為學生表
SQL Server 統計資訊更新時取樣百分比對資料預估準確性的影響
為什麼要寫統計資訊 最近看到園子裡有人寫統計資訊,樓主也來湊熱鬧。 話說經常做資料庫的,尤其是做開發的或者優化的,統計資訊造成的效能問題應該說是司空見慣。 當然解決辦法也並非一成不變,“一招鮮吃遍天”的做法已經行不通了(題外話:整個時代不都是這樣子嗎) 當然,還是那句話,既然寫了就不能太俗套,
Django筆記 資料庫資料外來鍵 多對多關係訪問
from django.db import models # Create your models here. class Publisher(models.Model): name = models.CharField(max_length=30,b
外鍵對數據更新的影響
spa 系統 正常的 目標表 opera dem 不存在 數據庫系統 成功 外鍵是指向另一個表中已有數據的約束,因此外鍵值必須是在目標表中存在的。如果更新後的數據在目標表中不存在的話則會導致違反外鍵約束異常。T_Debt 表中FPerson 字段是指向表T_Person的F
主鍵對數據更新的影響
per span 設置 重復值 ron class 執行 lang spa 主鍵是在同一張表中必須是唯一的,如果在進行數據更新的時候指定的主鍵與表中已有的數據重復的話則會導致違反主鍵約束的異常。T_Debt表中FNumber 字段是主鍵,如果我們執行下面SQL: UP
mysql 外來鍵 級聯刪除 級聯更新:Cannot delete or update a parent row: a foreign key constraint fails (`db1`.grade
報錯:Cannot delete or update a parent row: a foreign key constraint fails。 原因:表關聯生成的強制約束問題,在刪除的時候回檢查表之間的關聯關係,從而導致無法刪除,更新 解決辦法: SET foreign_key_c
[C#] [ArcGIS] [Engine] 對選擇的要素進行資料更新操作
/// <summary> /// 獲取選擇要素並進行更新操作 /// </summary> /// <param name="featureLayer">圖層要素物件</param> /// <returns>返回遊標物件</ret
(ainusers原創)資料庫主鍵、外來鍵
主鍵 學生表(學號,姓名,性別,班級) 其中每個學生的學號是唯一的,學號就是一個主鍵 聯合主鍵 成績表(學號,課程號,成績) 成績表中一個屬性無法唯一標識一條記錄,學號和課程號組合才可以唯一標識一條記錄,所以 學號和課程號的屬性組是一個主
oracle匯入表資料時遇到外來鍵約束問題導致匯入失敗
1、先關掉所有外來鍵約束: SELECT 'alter table '|| t.table_name || ' disable constraint ' || t.CONSTRAINT_NAME || ';' FROM USER_CONSTRAINTS t WHERE t.CONST
Hibernate,關係對映的多對一單向關聯、多對一雙向關聯、一對一主鍵關聯、一對一外來鍵關聯、多對多關係關聯
2018-11-10 22:27:02開始寫 下圖內容ORM、Hibernate介紹、hibername.cfg.xml結構: 下圖內容hibernate對映檔案結構介紹 下圖內容hibernate
區塊鏈可能對資料共享產生巨大影響嗎?
患者資料的共享一直以來都可以算是臨床研究的一個重要部分,因此,醫療研究人員便要不斷的面對一些阻礙他們工作向前發展的挑戰。現在有一種解決方案能夠解決這個挑戰——區塊鏈。 醫療領域的區塊鏈解決方案可能在臨床供應鏈、健康資訊交流、患者縱向檢視以及患者共享資料的動機方面產
MySql多對多關係中外來鍵的應用
業務需求:使用者表r_user儲存使用者名稱等資訊。現需要給每個使用者設定工作基地,一個使用者可以有多個工作基地,多個使用者也可以有一個工作基地,即多對多關係。(外來鍵,若有兩個表A,B,C是A的主鍵,而B中也有C欄位,則C就是表B的外來鍵,外來鍵約束主要用來維護兩個表之間資料的一致性) 設計方
Day054--MySQL, 建立使用者和授權, 資料型別, 列舉和集合, 約束,唯一, 主鍵,外來鍵
建立使用者和授權 1.建立使用者: # 指定ip:192.118.1.1的mjj使用者登入 create user 'mjj'@'192.118.1.1' identified by '123'; # 指定ip:192.118.1.開頭的mjj使用者登入 create user 'mjj'@'192.118
建立和測試觸發器:向SC表插入資料時,檢查插入資料的課程號是否存在於Course表中(建立之前刪除Cno的外來鍵約束,比較外來鍵約束和觸發器之間的不同)
alter table SC Drop constraint FK_SC--刪除外來鍵約束 CREATE TRIGGER trig_insert ON SC--在SC表中建立trig_insert觸發器 AFTER INSERT--insert為觸發事件,after則為觸發的時機
全面解讀雲端計算、大資料、AI 對資料中心的影響
模組化資料中心行業發展正面臨前所未有的複雜環境,網路應用種類和數量的極大豐富催生了海量資料,人工智慧的興起帶來了高密度計算,這些都給資料中心這一網際網路基礎設施提出了更多和更高的要求。今天,我們已經無法迴避"ABC"究竟給"D"帶來哪些影響這一問題了。 "ABC"正在對"D"產生深刻影響