无法使用 HeidiSql 创建外键和检查约束

Posted

技术标签:

【中文标题】无法使用 HeidiSql 创建外键和检查约束【英文标题】:Can not create foreign keys and check constraints using HeidSql 【发布时间】:2021-12-31 17:23:41 【问题描述】:

我正在尝试在 HeidiSql 中创建一些表,但我发现我无法创建外键时卡住了。起初我尝试使用 SQL 语句,后来使用 HeidiSql 的密钥生成菜单。两者最终都给了我一个索引而不是指定列的外键。

这是一个例子:

CREATE TABLE Test(
testId INT NOT NULL,
PRIMARY KEY(testId));

CREATE TABLE secondTest(
secondTestId INT NOT NULL,
test INT NOT NULL,
FOREIGN KEY(test) REFERENCES Test(testId),
PRIMARY KEY(secondTestId));

我没有收到任何错误消息,它所做的只是将外键,外键的符号显示出来,直到我保存表,转换为索引。 此外,如果为列指定一个,它不会应用检查约束。 有没有人遇到过同样的问题?感谢您的帮助!

【问题讨论】:

【参考方案1】:

似乎是引擎出了问题。将它从 'MyIsam' 更改为 'InnoDB',它现在应该创建约束和键。

【讨论】:

以上是关于无法使用 HeidiSql 创建外键和检查约束的主要内容,如果未能解决你的问题,请参考以下文章

主键约束,外键约束,空值约束,默认值约束,唯一约束,检查约束的各个作用是啥?

sql中创建组合主键和组合外键

如何在 Sequelize 中使用外键和常规键创建复合唯一约束?

MySQL - 无法添加或更新子行:外键约束失败

在MySQL中如何设置主键和外键

尝试使用 heidisql 在 mysql 中添加外键