为什么组要拥有自己的带有消息的表?那是非常低效的。
您所描述的结构是一种称为 1:n 或 1 对多的关系。
只需创建一个消息表,其中的字段指向消息所属的组:
CREATE TABLE `Groups` (
`GroupId` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(64) NOT NULL,
PRIMARY KEY (`GroupId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `Messages` (
`MessageId` int(11) NOT NULL AUTO_INCREMENT,
`GroupId` int(11) NOT NULL,
`Message` text NOT NULL,
PRIMARY KEY (`MessageId`),
KEY `FK_Group` (`GroupId`),
CONSTRAINT `FK_GroupMessage` FOREIGN KEY (`GroupId`) REFERENCES `Groups` (`GroupId`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;