将一个行列表从一个表传输到另一个表

时间:2013-01-02 12:26:15

标签: php mysql sql pdo mysqli

我到处搜索但找不到可行的解决办法。也许我不是正确的方式。 我在ID的数组中有一个逗号分隔值列表,它在“temp_image”表中引用image_id。现在我需要在该数组中使用image_id选择所有图像的所有信息,并将它们从'temp_image'表转移到'images'表。

$ IMgids = array(1,2,3,4,5,9);等等 我的查询怎么样? 我的where子句应该是什么样的。 转移一行我很舒服但在这种情况下它可能多达50行。 我有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

根据您发布的小信息,我说您需要这两个细节:

  1. IN子句的WHERE运算符,以便您可以一次引用数组引用的所有条目:SELECT ... FROM ... WHERE id IN (1,2,3,4,5,9);。您可能希望使用phps implode()函数构造子句中的id集:implode(',',$IMgids)

  2. 用于将多行插入从另一个表中读取的表的子查询原则。请参阅mysql(在线)文档。这样的事情:INSERT INTO images (SELECT * FROM temp_images WHERE...);