将属性更新为外键

时间:2015-10-14 05:44:52

标签: sql

所以我目前有一个名为subject的数据库,其中包含主题的名称和负责人的全名。

我刚刚添加了一个包含联系信息的新表,其中包含主键employee_id,以及其他属性,包括employee_fn和employee_ln。

我本来想要实现的目标,就是更新“负责任的”'从全名属性到引用employee_id的外键,其中名称相应地对应。

我在为此编写SQL时遇到了麻烦,老实说甚至无法手动解决如何手动操作或查询问题。

感谢任何帮助!

由于

1 个答案:

答案 0 :(得分:0)

从你的问题我理解的是你想要将负责的列作为主题表的FK并将其指向employee_id作为FK ..right ??

但这不可能,因为FK需要在其他表中使用PK。 Employee_id将是一个整数,并且无法保存全名。

任何具有预期输出的样本数据都可以帮助您。

但是,如果您将employee_id作为主题表中的列,则此更新将起作用。

update subject s
set responsible = (
select employee_fn||employee_ln as fullname,employee_id
from 
employee 
) e
where e.employee_id = s.employee_id

您的主题必须将employee_id作为fk,employee表必须作为employee_id作为PK-FK关系的PK。