Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 选择并更新同一查询_Php_Mysql - Fatal编程技术网

Php 选择并更新同一查询

Php 选择并更新同一查询,php,mysql,Php,Mysql,我正在运行一个查询,从一个表中选择一个id数组,以便使用结果数据集中的数据更新另一个表 //db query result $query = "SELECT image_id FROM jos_jxgallery_images ORDER BY jos_jxgallery_images.image_id DESC LIMIT 25"; $query_execute = mysql_query($query); mysql_close($db_config); while ($items =

我正在运行一个查询,从一个表中选择一个id数组,以便使用结果数据集中的数据更新另一个表

//db query result
$query = "SELECT image_id FROM jos_jxgallery_images ORDER BY jos_jxgallery_images.image_id DESC LIMIT 25";
 $query_execute = mysql_query($query);
mysql_close($db_config);

 while ($items = mysql_fetch_array($query_execute)) {
 echo $items['image_id']; 
 echo '<br/>';
}
但新表格没有数据。有没有更好的方法来写这篇文章……甚至可以作为一个查询或其他什么?感谢您的帮助


编辑:我应该解释得更好一点。这个表是空的,我可以继续使用从一个表到另一个表的插入来获取id。然而,在那之后…在某种程度上它是一个“临时”表。但不是真的。无论我在第一个表的SELECT查询中创建的图像id的顺序是什么(除了图像id之外,还有其他行需要排序,例如“hits”),因此第二个表需要使用相同的图像id顺序进行更新。可能会使用cron作业多次运行这个小片段。所以,是的,我正试图用第一个表的SELECT查询的顺序更新第二个表,并将id放在第二个表中,再次…根据第一个SELECT查询的顺序。

如果表为空,您应该执行插入操作。您可以在一个查询中执行此操作,如下所示:

INSERT INTO jx_gallery_images_ratings (image_id)
SELECT image_id FROM jos_jxgallery_images ORDER BY jos_jxgallery_images.image_id DESC LIMIT 25
请注意,您可能并不真正需要ORDER BY,而且您可以通过取消限制一次对所有图像执行此操作,例如:

UPDATE tbl_updateme SET row_to_update = (SELECT row_you_need from tbl_target WHERE tbl_updateme.comparison_row = tbl_target.comparison_row)


简单的方法是创建触发器,在选择后用动态SQL更新表

我认为您需要插入而不是更新?我实际上找到了另一个与此无关的解决方案,但这非常有用。谢谢,迈克
UPDATE tbl_updateme SET row_to_update = (SELECT row_you_need from tbl_target WHERE tbl_updateme.comparison_row = tbl_target.comparison_row)
INSERT INTO jx_gallery_images_ratings (image_id) (SELECT image_id FROM jos_jxgallery_images ORDER BY jos_jxgallery_images.image_id DESC LIMIT 25)