Mysql 外來鍵 備忘

2021-06-23 02:20:34 字數 1229 閱讀 8132

簡介:

- 建立外來鍵foreign key

- insert時的要求

參考:測試:

1. t_user

create table t_user (

id char(36) not null,

class_id char(36) not null,

primary key (id),

constraint fk_t_user_t_class_class_id foreign key (class_id) references t_class (id)

);

2. t_class

create table t_class (

id char(36) not null,

class_name char(36) not null,

primary key (id)

);

3.

insert into t_class (id, class_name) values('classid111111', 'class_name_1');

insert into t_user (id, class_id) values('userid11111', 'classid11111');

在第二句中 如果不是先插入有外來鍵約束的class_id,就會報錯

資訊如下,

insert into t_user (id, class_id) values('userid11111', 'classid111111')	error code: 1452. cannot add or update a child row: a foreign key constraint fails (`anialy`.`t_user`, constraint `fk_t_user_t_class_class_id` foreign key (`class_id`) references `t_class` (`id`))

所以第二個插入的方式一定要是values中先插入class_id, 

insert into t_user (class_id, id) values('classid111111', 'userid11111');

mysql 外來鍵 del 記錄 MySQL 外來鍵

在mysql中 1 mysql 資料表主要支援六種型別 分別是 bdb heap isam merge myisam innobdb。這六種又分為兩類,一類是 事務安全型 transaction safe 包括bdb和innodb 其餘都屬於第二類,稱為 非事務安全型 non transaction...

mysql外來鍵和外來鍵約束

1.mysql中 鍵 和 索引 的定義相同,所以外來鍵和主鍵一樣也是索引的一種。不同的是mysql會自動為所有表的主鍵進行索引,但是外來鍵字段必須由使用者進行明確的索引。用於外來鍵關係的字段必須在所有的參照表中進行明確地索引 2.如果表a的主關鍵字是表b中的字段,則該字段稱為表b的外來鍵,表a稱為主...

mysql 外來鍵和外來鍵約束

1.外來鍵 如果公共關鍵字在乙個關係中是主關鍵字,那麼這個公共關鍵字被稱為另乙個關係的外來鍵。就是a表的主鍵,被用到了b表中,此時它就成了外來鍵 2.外來鍵約束 如果想要插入或者更新外來鍵的值,資料庫會和引用表中字段的資料進行驗證,如果插入或更改的值不在被引用的表中,則插入失敗 外來鍵的作用就是保證...