MySQL: вставка записей в таблицы, связанные внешним ключом - PullRequest
0 голосов
/ 18 ноября 2009

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

У меня есть веб-сайт, который обрабатывает регистрации пользователей. Одна таблица содержит данные участника, такие как имя и адрес электронной почты, и связана с таблицей настроек через идентификатор участника. Я хотел бы, чтобы соответствующая запись автоматически вводилась в таблицу настроек при создании нового участника. Это возможно? Или это будет связано с хранимой процедурой?

Ответы [ 2 ]

4 голосов
/ 18 ноября 2009

Я думаю, что вам может понадобиться триггер.

http://dev.mysql.com/doc/refman/5.0/en/triggers.html

CREATE TRIGGER ins_settings AFTER INSERT ON members
  FOR EACH ROW BEGIN
    INSERT INTO settings SET member_id = NEW.member_id
    ...
  END;
1 голос
/ 19 ноября 2009

Благодаря Грегу, мне удалось прийти к решению, которое:

CREATE TRIGGER ins_settings AFTER INSERT ON members
FOR EACH ROW
INSERT INTO settings SET member_id = NEW.member_id;
...