【发布时间】:2020-04-04 09:03:00
【问题描述】:
正如我在https://dev.mysql.com/doc/refman/8.0/en/storage-engines.html 上看到的,MyISAM 存储引擎在 MySQL 8.0 上不支持外键。 但是当我在我的数据库上尝试时,外键创建成功。
谁能告诉我MyISAM不支持外键的真正含义是什么?
注意,我在 Navicat 上尝试了 MySQL v.8.0 上的代码
【问题讨论】:
-
你能给我们看看输出吗:
show create table utama; -
我已经编辑了帖子并添加了查询结果
-
您的代码图片(请以文本形式发布代码,不要截屏!)甚至不会尝试创建外键。
-
这是我创建表格的代码。 CREATE TABLE utama (id_utama INT NOT NULL PRIMARY KEY AUTO_INCREMENT, nama VARCHAR(12), id_samping INT) ENGINE = MyISAM; CREATE TABLE 采样 (id_samping INT NOT NULL PRIMARY KEY, posisi VARCHAR(12)) ENGINE = MyISAM; ALTER TABLE utama ADD FOREIGN KEY(id_samping,nama) REFERENCES samping(id_samping, posisi);
-
这是 SHOW CREATE TABLE utama 的结果。创建表
utama(id_utamaint(11) NOT NULL AUTO_INCREMENT,namavarchar(12) 默认NULL,id_sampingint(11) 默认NULL, 主键(id_utama), 键id_samping(id_samping,nama) ) ENGINE=MyISAM 默认字符集=utf8mb4 COLLATE=utf8mb4_0900_ai_ci