php - MySQL中所有行都具有TRUE值后如何触发INSERT函数?

标签 php mysql triggers

问题就在这里。我正在开发一个网站,该网站将帮助人们分享一本书的章节。这本书有 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/

相关文章:

google-apps-script - 电子表格中特定工作表的 onEdit 触发器?

javascript - (正则表达式)\b 和 NOT\B 之间的错误差异

php - mysql查询用like连接两个表

php - 将带有超链接的 html 表中的值传递到下一页的数据库查询

mysql,alter column删除主键和auto_increment

mysql - 如何根据表中先前插入的值创建插入前触发器

php - 在 Codeigniter/PHP 中提取两个日期之间的事件时遇到问题

php - 两个域,一个站点,一个 SSL 结帐。如何获得 cookies ?

mysql - 一天没有结果返回零

javascript - Google 表格中的 Google Apps 脚本是否有类似悬停的触发器?