我正在开发一个PHP / MySQL测验应用程序。该应用程序将跟踪用户在每个测验中得分的分数。我想获取用户为这些测验所获得的积分,并将它们组合成用户获得的总积分。我在下面包含了我的SQL表结构,它显示了我到目前为止的内容。
我的问题是如何创建一个表格来获得用户Bob的测验1,测验2和测验3的分数,然后将该分数添加到用户Bob获得的总分数中?
无论如何,这是代码:
CREATE TABLE IF NOT EXISTS `memberQuizNameResults` (
`id_memberQuizNameResult` int(11) NOT NULL AUTO_INCREMENT,
`id_user` int(11) NOT NULL,
`id_quiz` int(11) NOT NULL,
`quizNamePointsEarned` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id_memberQuizNameResult`),
KEY `id_user` (`id_user`),
KEY `id_quiz` (`id_quiz`),
KEY `quizNamePointsEarned` (`quizNamePointsEarned`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `memberAllQuizzesTotalPoints` (
`id_memberAllQuizzesTotalPoints` int(11) NOT NULL AUTO_INCREMENT,
`id_user` int(11) NOT NULL,
`memberAllQuizzesTotalPoints` int(11) NOT NULL DEFAULT '0',
`dateUpdated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id_memberAllQuizzesTotalPoints`),
KEY `id_user` (`id_user`),
KEY `memberAllQuizzesTotalPoints` (`memberAllQuizzesTotalPoints`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
目前,这两个表之间没有外键关系。是否需要建立关系或是否有办法进行某种加入?请记住:我想存储Bob在测验1上得到的分数,我还想将Bob的总分数存储在数据库中。我不想弄清楚总点数是多少,我想保存数据库中的总点数,以便我可以检索数字。
非常感谢你们,你们都很棒 - 杰森