MySQL更新两个表之间的查询

Tom*_*Tom 3 mysql

我的网站上有一个用户照片工具,它正在更新一些新功能.

基本结构是具有照片数据的表格和具有相册数据的表格.

[userphotos]
pictureid
albumid
userid

[useralbums]
albumid
userid
album_name
Run Code Online (Sandbox Code Playgroud)

每个上传照片的用户都会获得一张默认相册,该相册在userphotos中的albumid = 0,而此默认相册在useralbums中没有任何记录.

这正在改变所以我将每个不同的0 albumid和userid的记录从userphotos插入到usealbums中,其中albumid是一个自动增量字段,我将该albumname默认为"My Photos"

所以我现在的样本记录如下......

[userphotos]
pictureid: 100
albumid: 0
userid: 1

[useralbums]
albumid: 1
userid: 1
album_name: "My Photos"
Run Code Online (Sandbox Code Playgroud)

现在我需要做的是使用新的albumid更新userphotos表.

我无法获得正确运行的更新语句.

它需要做这样的事情:

update userphotos set 
userphotos.albumid = useralbums.albumid 
where userphotos.userid = useralbums.userid and 
userphoto.albumid = 0 and 
useralbums.albumname = "My Photos"
Run Code Online (Sandbox Code Playgroud)

或者,当我从userphotos到useralbums进行初始插入时,可能更容易做些什么?

谢谢.

Tom*_*Tom 17

得到它了:

UPDATE userphotos p, useralbums a
SET p.albumid = a.albumid
WHERE
a.userid = p.userid
AND a.album_name = "My Photos"
AND p.albumid = 0
Run Code Online (Sandbox Code Playgroud)