数据库MySQL之如何使用外键约束?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_34122324/article/details/85173367

数据库MySQL之如何使用外键约束?


1. 外键约束的使用要求:

  1. 父表和子表必须使用相同的存储引擎,不能使用临时表
  2. 数据存储引擎必须为INNODB类型
  3. 外键列和参照列必须具有相似的数据类型。其中数字的长度或者是否有符号位必须相同,字符的长度则可以不同
  4. 外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL则自动创建索引
    外键列创建在子表中,参照列创建在父表中

2. 测试:

在 MY.ini 文件中编辑默认的存储引擎

default-storage-engine=INNODB

显示创建表的语句

SHOW CREATE TABLE table_name;

查看表是否有索引

SHOW INDEXS FROM table_name;

以网格查看表是否有索引

SHOW INDEXS FROM table_name\G;

Eg:

CREATE TABLE table_name1(
  id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(20) NOT NULL
)

CREATE TABLE table_name2(
  id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  username VARCHAR(20) NOT NULL,
  pid SMALLINT UNSIGNED,
  FOREIGN KEY (pid) REFERENCES table_name1(id)  /* 外键 pid 参照 table_name1中的 id 字段 */

猜你喜欢

转载自blog.csdn.net/baidu_34122324/article/details/85173367