MySQL: вставка записей в таблицы, связанные внешним ключом

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

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


person Martin Bean    schedule 18.11.2009    source источник


Ответы (2)


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

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;
person Greg K    schedule 18.11.2009

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

CREATE TRIGGER ins_settings AFTER INSERT ON members
FOR EACH ROW
INSERT INTO settings SET member_id = NEW.member_id;
person Martin Bean    schedule 19.11.2009
comment
вы можете нажать на галочку слева от его ответа, чтобы поблагодарить его должным образом :) - person nickf; 19.11.2009