Mam bazę danych o dość prostej strukturze
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`login` varchar(25) NOT NULL,
`password` char(40) NOT NULL,
`email` varchar(255) NOT NULL,
`registered` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `login` (`login`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
-- user_id to tutaj wysyłający a mb_id to skrzynka do której ma wiadomość dotrzeć
CREATE TABLE `message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`mb_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`message_topic` varchar(255) NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`id`),
KEY `mb_id` (`mb_id`),
KEY `user_id` (`user_id`),
CONSTRAINT `mb_id` FOREIGN KEY (`mb_id`) REFERENCES `message_box` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `user_idm` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- ----------------------------
CREATE TABLE `message_box` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `user_id` (`user_id`),
CONSTRAINT `user_id_mb` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Jakie ułożyć zapytanie aby tworząc użytkownik od razu tworzyłaby się skrzynka na wiadomości dla niego, czy trzeba to jakoś rozbić na dwa zapytania?