当有外键时,插入 MySQL 中的结点 table

Insert into a junction table in MySQL when there is a foreign key

我想添加 person_name 记录 FROM personperson_job table 通过给这些人一个工作价值。 person_job 是我的 junction table。我的 job_id 是作业的 id。

person table

person_id

person_name

想要的结果如下。

person_id 是来自 person table 的外键,我想在查询中手动给出作业 ID,因为我使用 phpMyAdmin,这很容易。

person_job table (junction table from person and job tables.)

person_id

job_id

我试过下面的查询,但无法添加 ID 值。我应该把id值放在哪里?

INSERT INTO person_job(person_id)
          SELECT person_id
          FROM person
          WHERE person_id < 1500;

选项 1:删除外键并在填充 table 并修复参照完整性后恢复它。

选项 2:为这些人分配任意工作,然后手动更新他们的实际工作。这个任意作业可能是专门为此操作创建的虚拟作业 (INSERT INTO person_job(person_id, job_id) SELECT person_id, 999 ...)

选项 3:如果 job_id 的定义允许,则将值 NULL 作为工作分配给这些人。