问题就在这里。我正在开发一个网站,该网站将帮助人们分享一本书的章节。这本书有 30 章,每一章都标记为已读后,我希望我的数据库在章节表中创建下一组章节。我不知道这是否是一种有效的方法,或者我应该使用 PHP if 条件。
这是我的章节表:
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 使用新的完成周期 id 在章节表中添加 30 行以上。任何帮助表示赞赏。
最佳答案
首先,创建表
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);
下一章现已插入
关于php - MySQL中所有行都具有TRUE值后如何触发INSERT函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40014150/