我已经将数据库从 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/