Здравствуйте. Я написал для своего проекта небольшой чат. С возможностью создавать конференции. Вот примерно так выглядит БД:
CREATE TABLE `prefix_chat_room` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`admin_id` int(11) NOT NULL ,
`type` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `prefix_chat_message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`room_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`answer_to` int(11) NOT NULL DEFAULT '0',
`message` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `prefix_chat_room_relation` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`room_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`message_id` int(11) NOT NULL DEFAULT '0'
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Сейчас я хочу реализовать возможность удаления переписки... Если делать удаление всей переписки, то я добавлю например поле delete_id в таблицу prefix_chat_room_relation и буду показывать только те сообщения у которых ид больше delete_id.
А если делать удаление по сообщениям, как сделать так чтобы сообщения не удалялись у других участников переписки?