使用INSERT INTO命令插入数据。

时间:2014-05-12 10:55:21

标签: php mysql sql database

我有两个表名用户和users_images。两个表都具有userId的值。喜欢 我的用户表


|   userId    |    userName    |    user_address    |
|    2    |    John    |    CN-2, UK    |
|    3    |    Amit    |    India    |
|    4    |    David    |    Us    |
|    5    |    Shan    |    Canada    |
.
.
...... and so on

|    125000    |    Naved    |    Ukran    |

**和我的图片表包含用户ID和图片名称。

现在我想将ImageName字段合并到用户表而不使用任何循环(我想用单个查询来做(我有数百万条记录,我将不得不多次创建temorary表))

3 个答案:

答案 0 :(得分:0)

update users u
set
  u.imageName = (
       select imageName 
       from users_images i 
       where i.userid = u.userid GROUP BY u.userId )

答案 1 :(得分:0)

我认为你可以像这样使用Update:

UPDATE Users
SET ImageName =
  (SELECT ImageName
   FROM UserImages
   WHERE UserImages.UserID = Uers.UserID)

请先备份您的数据库

答案 2 :(得分:0)

您可以使用ON DUPLICATE KEY 例如:

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE c=c+1;