Есть 2 таблицы например table1 и table2 у каждой есть поле id_contract
Вопрос возможно ли средствами mysql сделать так что бы в table1 была добавлена запись
в table2 была добавлена автоматически id_contract?
1. mr_id - 14 Марта, 2011 - 12:57:02 - перейти к сообщению
2. SAD - 14 Марта, 2011 - 12:59:21 - перейти к сообщению
триггер
3. mr_id - 14 Марта, 2011 - 13:53:01 - перейти к сообщению
А пример показать можете? Был бы очень благодарен.
4. EuGen - 14 Марта, 2011 - 13:55:11 - перейти к сообщению
Нет, триггер не нужен, нужен внешний ключ с соответствующим свойством ON UPDATE CASCADE, а так же тип таблицы InnoDB:
http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]constraints[dot]html
- там и примеры найдете
А, прошу прощения, неправильно понял - нужно же Добавлять, а не обновлять. Тогда да, нужен триггер.
Вот мой пример:
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- DROP TRIGGER IF EXISTS `update_status`//
- CREATE TRIGGER `update_status` AFTER UPDATE ON `YOUR_TABLE`
- FOR EACH ROW begin
- IF new.STATUS != old.STATUS then
- INSERT INTO YOUR_ANOTHER_TABLE (user_id, status_was, status_became, change_date) VALUES (old.id, old.STATUS, new.STATUS, NOW());
- end IF;
- end
- //
- триггер отлавливает изменение поля status и помещает информацию в другую таблицу о его статусе. В Вашем случае нужно будет его модифифировать на вставку.