2015-09-18 4 views
1

У меня есть две таблицы bid и instalment. bid_id является PK от bid и является FK рассрочки. Теперь, acc. к определениям, он должен автоматически размещать данные в FK?Как вставить данные автоматически в внешний ключ в mysql?

database schema

Но когда я ввожу данные, мой FK остается пустым. Есть ли что-то, что я забыл сделать или прикрепить в таблицах? Я имею в виду, как мой FK автоматически разместит данные (т. Е. bid_id) от ставки?

Inserted data

+0

В общем, для каждой строки, вставленной в родителю Вы получаете LAST_INSERT_ID, а затем вставить его в внешний ключ, все они помещаются в транзакции, чтобы гарантировать согласованность. – Mihai

ответ

-1

внешних ключей, чтобы убедиться, непротиворечивости данных т.е. для проверки, но не данные данные автоматического заполнения (да влияет на обновление/удаление на clild на основе мастера).

Вы можете проверить детали here -

+0

Это означает, что мне нужно ввести 'bid_id' в' 'nstalment' вручную? – naggarwal11

+0

Да, и он будет синхронизироваться, так что соответствующий мастер-идентификатор будет правильно вставлен в дочерний элемент, может быть, вам нужно будет сделать это в транзакции, сначала вставьте новую строку в master, затем получите last_insert_id() и поместите ее в дочернюю таблицу ..... –

+0

вы можете написать синтаксис для last_insert_id(). должен ли я писать 'вставить в рассрочку (bid_id) = (выберите last_insert_id (bid_id) с ставки)' или мне нужно написать что-то еще? – naggarwal11

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