这是问题所在。我正在建立一个网站,帮助人们分享一本书的章节。本书有30章,每章都标记为已读,我希望我的数据库在章节表中创建下一组章节。我不知道这是否是一种有效的方法,或者我应该在条件下使用PHP。
以下是我的章节表:
CREATE TABLE `chapters` (
`chapter_id` int(11) NOT NULL,
`chapter_no` int(11) NOT NULL,
`completion_cycle` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`read` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
当第一个完成周期的30个章节的所有读取值都为TRUE(或等于1)时,我希望我的MySQL在章节表中添加30行以及新的完成周期ID。任何帮助表示赞赏。
答案 0 :(得分:0)
首先,创建表
CREATE TABLE `chapters` (
`chapter_id` int(11) NOT NULL,
`chapter_no` int(11) NOT NULL,
`completion_cycle` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`read` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在PHP或cron作业中,您现在可以使用以下方法检查章节是否已完成:
SELECT COUNT(*)
FROM chapters
WHERE completion_cycle=0
AND read=0;
如果上面的查询返回0结果,则表示所有章节都已完成并读取。所以你可以插入下一个。
INSERT INTO chapters (chapter_no, completion_cycle, user_id, read)
VALUES
('...', 0, '...', 0);
现在插入下一章