我的网站上有一个用户照片实用程序,它正在更新一些新功能。

基本结构是一张照片数据表和一张相册数据表。

[userphotos]
pictureid
albumid
userid

[useralbums]
albumid
userid
album_name

每个上传照片的用户都会获得一个默认相册,在 userphotos 中的相册 ID = 0,并且该默认相册在 useralbums 中没有记录。

这正在发生变化,因此我将 userphotos 中每个不同的 0 相册 ID 和用户 ID 的记录插入到用户相册中,其中相册 ID 是一个自动增量字段,并且我将相册名称默认为“我的照片”

所以我现在拥有的样本记录如下......
[userphotos]
pictureid: 100
albumid: 0
userid: 1

[useralbums]
albumid: 1
userid: 1
album_name: "My Photos"

现在我需要做的是用新的相册更新 userphotos 表。

我无法正确运行更新语句。

它需要做这样的事情:
update userphotos set
userphotos.albumid = useralbums.albumid
where userphotos.userid = useralbums.userid and
userphoto.albumid = 0 and
useralbums.albumname = "My Photos"

或者,当我从用户照片到用户相册进行初始插入时,可以做一些更简单的事情吗?

谢谢。

最佳答案

知道了:

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

10-04 20:09