更新 MySQL 表的 PHP 代码

标签 php sql mysql cron

我想用另外两个表的信息更新一个 MySQL 表。我将设置一个 cron 作业,但我不知道要使用什么 PHP 代码。

每次 cron 作业运行时,我希望“配置文件”表中的“VideoNumber”列更新为他们上传到站点的视频数量。视频信息存储在名为“Videos”的表中,每个视频都有一个“OwnerID”来标识上传它的用户。这对应于“配置文件”表中的“ID”列。

我还希望“配置文件”表中的“照片编号”列根据同一用户上传的照片数量进行更新 - 照片数据存储在“照片”列中。

有人可以帮忙吗?

最佳答案

你做错了。创建/删除新视频/照片后立即更新这些列的值。您可以将所有内容包含在事务中以确保一切正常:

BEGIN TRANSACTION;
INSERT INTO videos VALUES (...);
UPDATE profiles SET videosCount = videosCount + 1 WHERE id = ?;
COMMIT;



BEGIN TRANSACTION;
DELETE FROM videos WHERE id = ?;
UPDATE profiles SET videosCount = videosCount - 1 WHERE id = ?;
COMMIT;

对照片做同样的事情。

您甚至可以使用 triggers使一切更清晰(即让数据库处理增加/减少计数列的值)

DELIMITER \\
CREATE TRIGGER abc AFTER INSERT ON videos
FOR EACH ROW BEGIN
   UPDATE profiles SET videosCount = videosCount + 1 WHERE id = NEW.profile_id;
END\\

DELIMITER ;

关于更新 MySQL 表的 PHP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3696797/

相关文章:

php - 使用 mysql 查询检查日期是否在给定日期范围内

sql - 查找满足条件的第一列

mysql - SQL-如何在一列和两个结果中获取两个不同列的值?

php - 无法理解如何做到这一点...PHP/Mysql 问题

php - 您如何重写/重新编码网站以使其具有可扩展性?

php - 在 Mac OSX 上安装 MAMP 和 Pecl 以设置 PHP 扩展

php - 如何禁用 SELECT QUERY 对结果进行自动排序

php - 如何在MYSQL中获取不带小数的列值

php - 使查询更高效(查询速度真的很慢!)

c# - 将MySQL数据库连接到C#而不打开xampp