INSERT 語句與 FOREIGN KEY 約束"XXX"衝突。該衝突發生於資料庫"XXX",表"XXX", column 'XXX。
很多人會遇到上面的問題,我也是:問題由來
1.建立表1
create table Depts
(Dno char(5) primary key,
Dname char(20) not null)
2.建立表2
CREATE TABLE Students /*列級完整性約束條件*/
(Sno CHAR(5) NOT NULL, /* Sno不能為空值*/
Sname CHAR(20) NOT NULL, /*Sname不能為空值
*/Ssex CHAR(2),
Sage INT,
Sdept CHAR(15),
CONSTRAINT FK_Sno foreign key(Dno) references Depts /* 定義外來鍵約束*/
3.將一個學生元組新增到基本表Students中,SQL語句如下:
insert
into Students
values('S01','王建平','男',21,'D01')
4.點選分析,沒有錯誤,點選執行,就出現INSERT 語句與 FOREIGN KEY 約束"FK_Dno"衝突。該衝突發生於資料庫"XXXX",表"dbo.Depts", column 'Dno'。語句已終止。
解析理論:外來鍵約束,比如B表存在一個欄位b,有外來鍵約束,引用於A表的主鍵a,那麼在向B表插入資料時,欄位b必須為A表中a已經存在的值,如過向b中存放一個a中沒有的值,則會報違反外來鍵約束。
解決方法:只要在Depts表中新增
insert
into Depts
values('D01','自動化')
OK
相關推薦
INSERT 語句與 FOREIGN KEY 約束"XXX"衝突。該衝突發生於資料庫"XXX",表"XXX", column 'XXX。
很多人會遇到上面的問題,我也是:問題由來 1.建立表1 create table Depts (Dno char(5) primary key, Dname char(20) not null
DELET語句與REFERENCE約束“FK_news_category”衝突,該衝突發生於資料庫“newssystem”,表dbo.news,column 'caId'語句終止
問題 做牛腩新聞釋出系統,當刪除新聞類別表(category)中資料時出現了無法刪除並提示外來鍵衝突的情況。 分析 1
SQL語句刪除具有外來鍵約束(foreign key)的表。因為該物件正由一個 FOREIGN KEY 約束引用。
關於包含外來鍵的表,清理資料的時候,如truncateTable,網上大部分的解決辦法是,刪除外來鍵-》刪除資料-》再新建表。 這裡介紹一種不需要刪除外來鍵,只需要修改外來鍵屬性就可以刪除資料的方式。 如上圖所示,展開表名,找到外來鍵,雙擊外來鍵,修改Insert和Update規範下面
SQL語句刪除具有外來鍵約束(foreign key)的表。錯誤提醒:無法刪除物件 '表名',因為該物件正由一個 FOREIGN KEY 約束引用。
當我們在刪除一張有外來鍵約束的表時,直接採用drop table A表,會報以下錯誤: 無法刪除物件 'A表',因為該物件正由一個 FOREIGN KEY 約束引用。錯誤原因:A表被其他表的外來鍵引用了解決方法: 1.找出本表的外來
mybatis insert的入參為map時,insert語句中獲取key和value的寫法
1. <insert id="submitAudit"> insert into tablename <foreach collection="params.keys" item="key" open="(" close=")" separator=",">
SQLServer之修改FOREIGN KEY約束
使用SSMS資料庫管理工具修改FOREIGN KEY約束 1、連線資料庫,選擇資料表-》右鍵點選-》選擇設計(或者展開鍵,選擇要修改的外來鍵,右鍵點選,選擇修改,後面修改步驟相同)。 2、在表設計視窗中-》選擇要修改的外來鍵列-》右鍵點選-》選擇關係。 3、
SQLServer中有五種約束,Primary Key約束、Foreign Key約束、Unique約束、Default約束和Check約束,今天使用SQL Server2008來演示下這幾種約束的
SQLServer中有五種約束,Primary Key約束、Foreign Key約束、Unique約束、Default約束和Check約束,今天使用SQL Server2008來演示下這幾種約束的建立和使用的方法。 1、Primary Key約束 在表中常有一列或多列的組合,其值能唯一標識表
sql語句修改資料庫名,表名,列名
--檢視是否有使用者連線到這個資料庫了 select spid from master.dbo.sysprocesses where dbid=db_id('student') kill 49 --關閉其他使用者對此資料庫的連線(假設連線id為49) go ----
執行SQL語句的時候唯一約束欄位異常Duplicate entry '33382-1-0' for key xxx
前言:做專案的時候,執行SQL語句報了Duplicate entry '33382-1-0' for key xxx異常,後來發現是唯一約束導致,於是乎一通谷歌百度,後來解決了,記錄一下。 正文: 程式碼片段是這樣的: session.createSQLQuery("i
:“DELETE 語句與 REFERENCE 約束"FK_news_category"衝突
報錯為: System.Data.SqlClient.SqlException:“DELETE 語句與 REFERENCE 約束"FK_news_category"衝突。該衝突發生於資料庫"niunan_sys",表"dbo.news", column ‘caId’。 語句已終止。”
Update語句與COLUMN REFERENCE約束'FK_Orders_Customers'衝突,該衝突發生與資料庫'Northwind',表'Orders',Column 'CustomerID
可以在建立表的外來鍵時指定 on Delete Cascade選項(應該也可以在修改表的約束語法中指定) 如果想在資料庫修改(預設你的資料庫為SQL Server 2000) 開啟你的企業管理器 -- 點Northwind資料庫下的表 -- 滑鼠右鍵 右邊的Cu
FOREIGN KEY 外鍵約束; UNIQUE和PRIMARY KEY 主鍵約束、CREATE INDEX建立索引的使用
pan bsp constrain 一個表 int 完整性 有一個 user 刪除 1)foreign key 是個約束,意思是說如果你給A字段設置了外鍵約束,以後你要往A字段插入數據,這個數據一定是要在foreign key 後面跟的那個字段中存在的值。這個的意義就是約束
ON DUPLICATE KEY UPDATE在mysql的INSERT語句中用法
1、如果在INSERT語句後面帶上ON DUPLICATE KEY UPDATE 子句,而要插入的行與表中現有記錄的惟一索引或主鍵中產生重複值,那麼就會發生舊行的更新; 2、如果插入的行資料與現有表中記錄的唯一索引或者主鍵****不重複,則執行新紀錄插入操作。 示例: creat
mysql中新增外來鍵約束失敗(cannot add foreign key constraint)
mysql中新增外來鍵約束遇到一下情況: cannot add foreign key constraint 出現這個問題一般是開發工作者對外來鍵的使用出現了疏忽,我們先清晰一下外來鍵的使用: 1. 外來鍵欄位不能為該表的主鍵; 2. 外來鍵欄位參考欄
外鍵約束:foreign key
記錄 是否 作用 foreign incr 引用 而不是 har 生成 *外鍵 foreign key* 1、概念:如果一個實體的(student)的某個字段,指向(引用)另個實體(class)的主鍵 (class:class_id),就稱為s
【SQL】INSERT INTO SELECT語句與SELECT INTO FROM語句
INSERT INTO SELECT語句與SELECT INTO FROM語句,都是將一個結果集插入到一個表中; #INSERT INTO SELECT語句 1、語法形式: Insert into Table2(field1,field2,…) select value1,value2,
mysql的ON DUPLICATE KEY UPDATE在INSERT語句中的用法
1、如果在INSERT語句後面帶上ON DUPLICATE KEY UPDATE 子句,而要插入的行與表中現有記錄的惟一索引或主鍵中產生重複值,那麼就會發生舊行的更新; 2、如果插入的行資料與現有表中記
SQL約束(主鍵約束 primary key、外來鍵約束 foreign key、唯一約束unique 、CHECK約束)
注意: A.表中有資料不能建立約束 B.檢視下設定後,要點選儲存(只有儲存後在才看的到) c 別忘了,點重新整理,才會出來呀! 1、主鍵約束 primary key 主鍵是每行的唯一識別符號,僅僅通過它就能準確定位到一行,其中主鍵列在整個表中不能有重
【MySQL】淺析“replace into 操作” 與 “insert into+ON DUPLICATE KEY UPDATE操作”
對有主鍵和唯一鍵的表進行insert into+ON DUPLICATE KEY UPDATE操作(product)[email protected] [test]> CREATE TABLE `student` ( -> `id` int(10) unsigned NOT NUL
mysql 外來鍵foreign key相關知識及新增刪除外來鍵 sql語句
外來鍵保證資料的完整性和一致性,被參照的表是主表,外來鍵所在欄位的表是子表,依賴於資料庫中已存在的表的主鍵。外來鍵的作用是建立子表與父表的關聯關係,是約束父表和子表, 1.父表和子表儲存引擎一樣且只能為InnoDB,禁止使用臨時表, 2.外來鍵列和參照列必須具有相似的資料型別,其中數字的長度