Две таблицы: пользователи и сообщения
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(10) NOT NULL,
`password` varchar(10) NOT NULL,
`email` varchar(100) NOT NULL,
`verifystring` varchar(20) NOT NULL,
`active` tinyint(4) NOT NULL,
`usertype` tinyint(4) NOT NULL,
`img` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
CREATE TABLE IF NOT EXISTS `messages` (
`id` tinyint(4) NOT NULL AUTO_INCREMENT,
`date` datetime NOT NULL,
`user_id` int(11) NOT NULL,
`topic_id` int(11) NOT NULL,
`subject` varchar(100) NOT NULL,
`body` text NOT NULL,
`img` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `topic_id` (`topic_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=51 ;
спусковой крючок:
CREATE TRIGGER `updateimg` AFTER UPDATE ON `users`
FOR EACH ROW begin
update messages set img = new.img where messages.user_id = users.id;
end
Поле img содержит имя загруженного пользователем изображения.
Как я могу скопировать значение img из пользователей таблицы в сообщения таблицы при его обновлении?
Это должно сделать это:
CREATE TRIGGER update AFTER UPDATE ON table1
for each ROW
begin
update table2 set y = new.y where table2.user_id = new.id;
end
Других решений пока нет …