MySQL:如何在一个表中插入两个外键链接到其他两个表?
我有以下数据库结构,以3个表为例: 雇员MySQL:如何在一个表中插入两个外键链接到其他两个表?,mysql,database,insert,foreign-keys,Mysql,Database,Insert,Foreign Keys,我有以下数据库结构,以3个表为例: 雇员 id//主键,自动递增 员工编号//a varchar 情景 id//主键,自动递增 key//a varchar 案例 id//主键,自动递增 employee\u id//employee表的外键 方案\方案id//方案表的外键 假设我在employee and scenario表中已经有数据,我想在case表中插入一个新的case,以便在插入期间填充外键。新案例在employee表中有employee\u no,在scenario表中有
- id//主键,自动递增
- 员工编号//a varchar
- id//主键,自动递增
- key//a varchar
- id//主键,自动递增
- employee\u id//employee表的外键
- 方案\方案id//方案表的外键
employee\u no
,在scenario表中有key
。我需要使用上述值连接两个表,以获得员工id和场景id
这篇文章()展示了如何使用一个外键来实现这一点,如何使用两个外键来实现同样的功能
我目前有一些类似的东西不起作用:
INSERT INTO `case` (scenario_id, employee_id, employee_no)
SELECT
(SELECT scenario.id FROM scenario WHERE scenario.`key` = 'UC01') as scenario_id,
(SELECT employee.id, employee.employee_no FROM employee WHERE employee.employee_no = "0001") as employee_id, employee_no
连接两个表:
INSERT INTO case (scenario_id, employee_id)
SELECT s.id, e.id
FROM scenario AS s
CROSS JOIN emplopyee AS e
WHERE s.`key` = 'UC01'
AND e.employee_no = '0001'
有什么问题?为什么你认为有两个外键有什么不同?@PM77-1我不知道如何将两个select查询组合在一起。谢谢!这正是我要找的。