Mysql 是否在更新时左连接到筛选行?
我正在尝试更新一个表,但我需要执行左连接以确定要选择的行 这是我一直在尝试的两个例子,我想通过看到其中任何一个,我都清楚地知道我想要做什么:Mysql 是否在更新时左连接到筛选行?,mysql,sql,Mysql,Sql,我正在尝试更新一个表,但我需要执行左连接以确定要选择的行 这是我一直在尝试的两个例子,我想通过看到其中任何一个,我都清楚地知道我想要做什么: UPDATE `User_Likes` SET `Status` = 'read' LEFT JOIN Posts ON User_Likes.PID = Posts.ID WHERE Posts.UID = '1' 在这里,我尝试另一种方式: UPDATE `User_Likes` SET `Status` = 'r
UPDATE `User_Likes`
SET `Status` = 'read'
LEFT JOIN Posts ON User_Likes.PID = Posts.ID
WHERE Posts.UID = '1'
在这里,我尝试另一种方式:
UPDATE `User_Likes`
SET `Status` = 'read'
WHERE `ID` IN (SELECT Posts.ID
FROM `User_Likes`
LEFT JOIN Posts ON User_Likes.PID = Posts.ID
WHERE Posts.UID = '$userID')
看看这个例子
UPDATE User_Likes
LEFT JOIN
Posts ON User_Likes.PID = Posts.ID
SET Status='read'
WHERE Posts.UID = '1' ;
查询的问题是Id只需要一个Id,而select语句返回多个Id。 因此:
诸如此类的东西。您能提供更多关于错误的信息吗?样本数据,前后。查看您想要的结果。是的,我想更新字段状态以读取,但我需要进行连接以确定谁是喜欢的帖子的作者。(我在User_Likes中只有Post ID)。第一次查询返回:
您的SQL语法有错误(没有提供更多信息)
第二次查询返回:您不能在FROM子句中为更新指定目标表“User\u Likes”
UPDATE `User_Likes` u LEFT JOIN Posts p
ON u.User_Likes.PID = p.Posts.ID
SET `Status` = 'read'
WHERE p.Posts.UID = '1'
UPDATE `User_Likes` u LEFT JOIN Posts p
ON u.User_Likes.PID = p.Posts.ID
SET `Status` = 'read'
WHERE p.Posts.UID = '1'