Я пытаюсь создать единую таблицу для личных сообщений на веб-сайте.Я создал следующую таблицу, которую я считаю эффективной, но я был бы очень признателен за некоторые отзывы.
CREATE TABLE IF NOT EXISTS `pm` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`to` int(11) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`subject` varchar(255) DEFAULT NULL,
`message` text NOT NULL,
`read` tinyint(1) NOT NULL DEFAULT '0',
`deleted` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
FOREIGN KEY (user_id) REFERENCES User(user_id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
У меня есть 2 столбца, которые определяют статус сообщения: read
и deleted
Если read = 1
, сообщение было прочитано получателем.Если deleted = 1
, отправитель или получатель удалили сообщение из отправленного или полученного почтового ящика.Если deleted = 2
оба пользователя удалили сообщение, то удалите строку из таблицы базы данных.