mysql - 在关系 View 中,当我尝试创建外键时,为什么会出现错误?

标签 mysql

对于我的表,我已经为我想要的一些属性正确选择了索引(4 个外键/索引)。然后,当我单击关系 View 时,为什么当我单击向下选择正确的属性('edas'.'vehicle'.'owner')并选择'ON DELETE'和'ON UPDATE'2的类型时4 个索引/属性出现错误?

并且它没有解释它是什么类型的错误,它只是简单地说错误。这真的很令人困惑,有人可以帮忙吗?

下面显示了其中一个错误的结果:

错误

ALTER TABLE  `vehicle` 
ADD FOREIGN KEY (  `ownerID` ) 
    REFERENCES  `edas`.`vehicle` ( `modelID`) 
    ON DELETE RESTRICT 
    ON UPDATE RESTRICT;

最佳答案

一个可能的原因是列类型不同。如果要添加外键,两列必须具有相同的类型。唯一的区别是,ownerID 在任何情况下都可以为 NULL,而 modelID 仅当 OwnerID 为 NULL 时才可以为 NULL。

关于mysql - 在关系 View 中,当我尝试创建外键时,为什么会出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18672723/

相关文章:

mysql - 如果未传递变量,则使用 DB 默认值 (Ruby on Rails)

mysql - 这个 coldfusion9 SQL 搜索查询可以更快吗?

Mysql 错误值缺失

MySQL 文本或 VARCHAR

php - mysql表导入不起作用?

python - 尝试计算 View 总数 - 在模板中显示空白

c# - 如何使用从 datagridview 检索到的 ID 将数据保存到数据库?

php - 在 PHP 中使用 MySQL 和 MSSQL 选择灵活性

mysql - 获取某个日期范围内的记录

php - SQL查询以查找欠债三个月或更长时间的用户