mysql 新增外來鍵約束報錯 1452
利用MySQL WorkBench為一張表的欄位新增一個外來鍵約束:
INSERT INTO `se`.`book` (`ISBN`, `Title`, `AuthorID`, `Publisher`, `PublishDate`, `Price`) VALUES ('24022696', '從你的全世界路過', '3', '湖南文藝出版社', '2013-11', '30.60')
執行結果報錯: 1452: Cannot add or update a child row: a foreign key constraint fails (se
.book
, CONSTRAINT AuthorID
AuthorId
) REFERENCES author
(AuthorID
)) 後來查詢資料解釋是此表已有記錄資料中該外來鍵欄位的值在主表在找不到。
解決辦法就是在主表中新增該條資料或者將此表該條主表沒有的資料改成主表已有的資料即可。
原來是自己先寫了更新了另外一個表的資料,但是忘記apply,直接apply含有外來鍵的表,導致錯誤,先apply該欄位是主鍵的表,再apply該欄位是外來鍵的表即可。
相關推薦
mysql 新增外來鍵約束報錯 1452
利用MySQL WorkBench為一張表的欄位新增一個外來鍵約束: INSERT INTO `se`.`book` (`ISBN`, `Title`, `AuthorID`, `Publisher`, `PublishDate`, `Price`) VAL
MySQL建立外來鍵關聯報錯1005
主要原因有 1.外來鍵型別不對應 2.外來鍵字元編碼不對應 3.沒有建立對應的索引 4.是否有重複主鍵 附上建立索引以及外來鍵的語句(參考) ALTER TABLE country add INDEX index_name(emp_id) ALTER TABLE emp ad
MySQL建立外來鍵連線報錯
當 你試圖在mysql中建立一個外來鍵的時候,這個出錯會經常發生,這是非常令人沮喪的。像這種不能建立一個.frm 檔案的報錯好像暗示著作業系統的檔案的許可權錯誤或者其它原因,但實際上,這些都不是的,事實上,這個mysql報錯已經被報告是一個mysql本身的 bug並出現在mysql 開發者列表當中很多年了,
使用Navicat for mysql新增外來鍵約束
先介紹一下基本情況: 現在有兩個表一張是t_blog表(部落格表),一張是t_blogType表(部落格類別) 現在我想把t_blog表中的typeID屬性設定為外來鍵,關聯t_blogType表中的
mysql 新增外來鍵約束時,提示語法錯誤
對於mysql新增外來鍵約束時,提示語法錯誤的很令人抓狂,這裡我將我遇到的情況分享一下,因為截至發稿,好像還見有人遇過 首先我們要確認一下新增外來鍵約束格式 ALTER TABLE 從表名 ADD CONSTRAINT 外來鍵名 FOREIGN KEY (從表外來鍵)
mysql新增外來鍵約束的兩種方式(重要)
-- 新增外來鍵約束 CREATE TABLE stu( sid INT PRIMARY KEY, NAME VARCHAR(50) NOT NULL ); -- 新增外來鍵約束方式一
mysql中新增外來鍵約束失敗(cannot add foreign key constraint)
mysql中新增外來鍵約束遇到一下情況: cannot add foreign key constraint 出現這個問題一般是開發工作者對外來鍵的使用出現了疏忽,我們先清晰一下外來鍵的使用: 1. 外來鍵欄位不能為該表的主鍵; 2. 外來鍵欄位參考欄
mysql之外來鍵約束
1.什麼是外來鍵 A表的主鍵,在B表中欄位出現,就是外來鍵。 2.什麼是約束:約束是一種限制,它通過對錶的行貨列的資料做出限制,來確保表的資料的完整性、唯一性。 3.以上1和2結合一起就是外來鍵約束。即:foreign key 4.具體操作 4.1建立表時,同時建
Oracle表中新增外來鍵約束
新增主鍵約束: ALTER TABLE GA_AIRLINE ADD CONSTRAINT PK_AIRLINE_ID PRIMARY KEY(AIRLINE_ID); 有三種形式的外來鍵約束: 1、普通外來鍵約束(如果存在子表引用父表主鍵,則無法刪除父表記錄)
oracle新增外來鍵約束的兩種方式
1.建立表時並建立外來鍵約束 create table score( scoreID int primary key, stuID int , score int constraint ck_score check(score between 0 and 100), course
MySQL資料庫--外來鍵約束及外來鍵使用
什麼是主鍵、外來鍵 關係型資料庫中的一條記錄中有若干個屬性,若其中某一個屬性組(注意是組)能唯一標識一條記錄,該屬性組就可以成為一個主鍵。 比如: 學生表(學號,姓名,性別,班級) 其中每個學生的學號是唯一的,學號就是一個主鍵 課程
mySql資料庫外來鍵約束條件
[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...) REFERENCES tbl_name (index_col_name, ...) [ON DELETE {RESTRICT | CASCADE | SET NULL | NO
mysql的外來鍵約束條件及注意事項
在使用mysql的外來鍵約束時,很多人都會在建立外來鍵時失敗,究其原因,有以下四種: 1.建立外來鍵時,你的儲存引擎應該支援外來鍵並且外表(含有外來鍵的表)和從表(引用外來鍵列的表)的列所使用的儲存引
mysql新增外來鍵時報errno: 150錯誤的解決方法
最近在用資料庫時,新增外來鍵總是報錯Can't create table (errno: 150)。兩張建表命令分別是: CREATE TABLE `resource_1` ( `id` in
mysql 設定外來鍵約束(foreign key)
建立外來鍵約束可以採用列級約束語法和表級約束語法,如果僅僅對單獨的一個數據列建立外來鍵約束,則使用列級約束語法即可;如果需要對多個列組合建立外來鍵約束,或者需要為外來鍵約束指定名字則必須使用表級約束語法。 使用列級約束語法建立外來鍵約束直接使用ref
mysql 新增外來鍵 遇到的問題
2017-2-23 wangan: 問題描述 新增外來鍵時報錯 [SQL]alter table user_viewitems add foreign key locstock_ibfk2 (user_id) references users(id) [Err]
nacicat for mysql/mysql 設定外來鍵報錯1005:Can't create table (errno: 150)解決辦法
nacicat for mysql/mysql 設定外來鍵報錯1005:Can’t create table (errno: 150) 使用nacicat for mysql工具或者mysql 命令列中
mysql建立外來鍵報錯的原因以及處理(can't not create table)
最近在玩資料庫的時候,偶爾會有外來鍵建立不成功的時候,於是上網查閱資料,整合自己的理解有了以下這篇文章:mysql建立外來鍵不成功的原因以及處理方法:第一種:外來鍵的欄位與關聯的欄位的型別不匹配(包括編碼格式的不匹配):兩個不同的表格(一個是record(借書記錄表),一個是
Mysql-基本練習(07-修改表-新增主鍵、唯一、外來鍵約束、新增/刪除預設約束、刪除約束)
1.新增主鍵約束語法:ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,……)新增主鍵約束前表結構為表tb1的id欄位新增主鍵約束,約束名為pk_tb1
mysql建表語句以及新增外來鍵報1215錯誤
其中外來鍵錯誤解決辦法: 保證外建的主表字段和子表字段型別和長度要一致 SET foreign_key_checks=0; drop table if exists feedrice; /*========================================