我使用Dezign创建了一个简单的数据库:
这是输出:
CREATE TABLE `Entity1` (
`Attribute_1` INTEGER NOT NULL AUTO_INCREMENT,
CONSTRAINT `PK_Entity1` PRIMARY KEY (`Attribute_1`)
);
# ---------------------------------------------------------------------- #
# Add table "Entity2" #
# ---------------------------------------------------------------------- #
CREATE TABLE `Entity2` (
`Attribute_2` INTEGER NOT NULL AUTO_INCREMENT,
`Attribute_11` INTEGER NOT NULL,
CONSTRAINT `PK_Entity2` PRIMARY KEY (`Attribute_2`, `Attribute_11`)
);
# ---------------------------------------------------------------------- #
# Foreign key constraints #
# ---------------------------------------------------------------------- #
ALTER TABLE `Entity2` ADD CONSTRAINT `Entity1_Entity2`
FOREIGN KEY (`Attribute_11`) REFERENCES `Entity1` (`Attribute_1`) ON DELETE CASCADE ON UPDATE CASCADE;
Attribute_11
中的Entity2
引用Attribute_1
中的Entity1
。但是,当我将其导入MySQL 5.1服务器时,即使Entity2
字段与Attribute_11
表中的任何条目都不匹配,我仍然可以将行插入Entity1
如何使用Dezign限制此操作?为什么外键约束不够?