mariadb 不会创建外键

问题描述

我认为我对 MariaDB 使用了正确的语法,但是我的外键约束没有被创建。

这是创建表 DDL:

CREATE TABLE items (
  id INT auto_increment primary key,description TEXT NOT NULL
);

CREATE TABLE item_events (
  id INT NOT NULL,calendar_event_guid TEXT(255) NOT NULL,foreign key item_events_id_fk (id) REFERENCES items (id)
);

然后,当我让 MariaDB 向我展示我创建的内容时,我得到了:

+-------------+-----------------
| Table       | Create Table                                                                                                                                                                                                       +-------------+-----------------
| item_events | CREATE TABLE `item_events` (
  `id` int(11) NOT NULL,`calendar_event_guid` text COLLATE utf8_unicode_ci NOT NULL,KEY `item_events_id_fk` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+-------------+-----------------

或者,只显示 DDL:

CREATE TABLE `item_events` (
  `id` int(11) NOT NULL,KEY `item_events_id_fk` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

请注意,它只创建了一个“KEY”,而不是外键。项目表已正确创建。

当然,这真的很简单:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)