gpt4 book ai didi

php - 使用每个表中的数据更新两个 mysql 表

转载 作者:行者123 更新时间:2023-11-30 01:30:43 25 4
gpt4 key购买 nike

最初我有一个 mysql 视频表,它在一个简单的 html 表中向用户显示。他们可以选择一个或多个复选框 ($video_list) 以通过查询标记为删除(实际上并不删除,而是更新记录)

//store all video names in array
foreach ($video_list as $element) {
$deleteNames[] = $db->quote($element);
}

//create nice comma separated list for query
$deleteNames = implode(',', $deleteNames);

// query used
$query_delete_video = sprintf('UPDATE `videos` SET deleted_datetime=NOW() WHERE `video_name` IN (%s)', $deleteNames);

现在的问题是这个 html 表现在也有图像,而不仅仅是视频。这些图像位于名为 images 的单独表中。用户可以同时选择多个视频或图像,也可以仅选择多个视频或图像进行删除。

所以现在列表 $deleteNames 可能包含视频和图像名称的组合。

仅对图像的查询如下所示:

$query_delete_image = sprintf('UPDATE `images` SET deleted_datetime=NOW() WHERE `image_name` IN (%s)', $deleteNames);

同样的事情只是在不同的表和不同的列名中。我能想到的这两个查询的唯一方法是通过解析扩展名或其他内容将 $deleteNames 分成图像和视频。

然后我可以对每个表运行查询。有没有更好的方法来解决这个问题,也许在一个查询中?

最佳答案

无需在一个查询中执行此操作。我认为你不会因此获得任何显着的优势。我认为您想要做的只是一个干净、更高效的查询。使用两个查询从两个表中删除列表并不是一个糟糕的设计。

这个相关问题可能会对您有所帮助。 MySql update two tables at once

更新查询针对单个表运行,因此我认为您无法一次性更新两个表。

关于php - 使用每个表中的数据更新两个 mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17498660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com