mysql - alter table 不加外键约束

标签 mysql sql foreign-keys

我已经将数据库从 Access 导出到 MySQL 服务器(本地)

在执行此操作时,它没有导出我在数据库中分配的外键。虽然不方便,但我认为没关系,因为我可以手动添加它们。但是,当我使用以下命令时:

alter table betalingsstatus 
add foreign key (bedrijf_id) 
references bedrijven(bedrijf_id)

它说它成功地添加了约束。但是,当我将某些内容插入表中并添加一个不在表 bedrijven 中的数字时,它仍然会插入它。我在数据库中的其他外键也遇到了同样的问题。

最佳答案

将 ENGINE=INNODB;创建后 - 更改您要强制执行外键约束的那些表。

例子:

CREATE TABLE mytbl
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(10) NOT NULL
) ENGINE=INNODB;

关于mysql - alter table 不加外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23651044/

相关文章:

sql - 获取SQL中单词的几个字母

MySQL:超过最大深度的外键约束

mysql - 更改具有外键的表的引擎

Django 内联模型管理过滤器外部字段

php - 显示来自两个表的数据 - codeigniter 中的一对多关系

php - MySQL 的最佳配置? InnoDB 和 MyISAM

php - MySQL/PHP/PHPMydamin 错误

java - 如何在使用 LOAD DATA 命令时跳过 csv 文件的行?

SQL Server - 创建为数据库中的所有表运行的单个触发器

php - 如何将csv数据逐列输出