Предположим, у меня есть две таблицы, A и B, каждая из которых содержит три столбца (A.id, A.title, A.text и B.id, B.a_id, B.text). B.a_id - это внешний ключ, относящийся к A.id. Предположим, что в A (1, 'foo', 'bar') есть одна запись и 2 записи в B (1, 1, 'test') и (2, 1, 'test1').Копирование нескольких записей с использованием внешних ключей
Мой вопрос в том, есть ли стандартный способ копирования записи в A и в то же время копировать все записи из B, которые относятся к A. Поэтому предположим, что я создаю новую запись в A (2, foo ',' bar '), основанный на (1,' foo ',' bar '), есть какой-то метод, который создает две новые записи в B (3, 2,' test ') и (4, 2, «test1)?
Я никогда не использовал триггеры раньше, это правильный момент, чтобы начать делать это? Или это очень глупый вопрос?
Отлично, это работает! Благодаря! Это уже проще, чем метод, который я использовал (используя отдельные запросы выбора и вставки). –
Прохладный. Я никогда не использовал эту комбинированную вставку ... выбрать синтаксис раньше. Спасибо, что дали мне знать. –
Это работает даже тогда, когда другие процессы обновляют таблицы, потому что '' LAST_INSERT_ID() '' смотрит на идентификатор, вставленный текущим процессом, и игнорирует идентификаторы, вставленные другими процессами. – kmoser