2015-01-01 3 views
-2

Я хочу добавить person_name записей ОТ person в person_job стол, предоставив этим людям значение задания. person_job - мой junction стол. моя job_id - это идентификатор задания.Вставить в таблицу соединений в MySQL, когда есть внешний ключ

person table 

person_id

PERSON_NAME

Желаемый результат ниже.

person_id - это внешний ключ из таблицы person, и я хочу дать идентификатор задания в запросе вручную, так как я использую phpMyAdmin, это будет легко.

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

person_id

job_id

Я попробовал запрос ниже, но я не могу добавить значения идентификатора с ним. Где я должен поместить значение id?

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

Вставить в person_job (person_id, job_id) значения (1,1); –

+0

@ SQL.injection, я хочу прицелиться person_id <1500, а не person_id = 1. На самом деле это то, о чем я просил. – salep

+0

Нет фотографий, пожалуйста. Просто правильно DDL – Strawberry

ответ

1

Вариант 1: отбросить внешний ключ и восстановить его после заполнения таблицы и зафиксировать ссылочную целостность.

Вариант 2: назначить произвольное задание этим лицам, а затем вручную обновить их фактические задания. Это произвольное задание может быть фиктивной один созданный только для этой операции (INSERT INTO person_job(person_id, job_id) SELECT person_id, 999 ...)

Вариант 3: присвоить значение NULL как работа этих лиц, если определение job_id позволяет.

Смежные вопросы