【问题标题】:Validate Record Data from Records in another table验证另一个表中记录的记录数据
【发布时间】:2021-11-08 04:14:31
【问题描述】:

我有 2 个表:Employee 和 Regions。每个员工可以分配到一个区域,每个区域可以有多个员工。但是,我只希望输入到“区域”的员工记录中的数据是区域表中存在的数据。我该怎么做?

地区列表:东北、东南、中部、西北、西南

使用 MySQL、MySQL Workbench 和 Amazon RDS

【问题讨论】:

  • 因为你只有 5 个,你可以使用枚举文件或使用外键约束
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: mysql database mysql-workbench amazon-rds


【解决方案1】:

向区域表添加外键约束

CREATE tABLE Region (region  VARCHAR(55) Primary KEY  NOT NULL)
INSERT INTO Region VALUES ('Northeast'), ('Southeast'), ('Central'), ('Northwest'), ('Southwest')
CREATE tABLE employee (id bigint Primary KEY auto_increment
, refregion  VARCHAR(55) NOT NULL
, 
    CONSTRAINT FK_RmploxxRegion FOREIGN KEY (refregion)
    REFERENCES Region(region))
INSERT INTO employee VALUES (NULL,'Northpole')
无法添加或更新子行:外键约束失败(`db_1115468314`.`employee`, CONSTRAINT `FK_RmploxxRegion` FOREIGN KEY (`refregion`) REFERENCES `Region` (`region`))
INSERT INTO employee VALUES (NULL,'Northeast')
SELECT * FROM employee
编号 |参考区 -: | :-------- 2 |东北

db小提琴here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 2023-04-08
    相关资源
    最近更新 更多