Mysql SQL查询更新

Mysql SQL查询更新,mysql,sql,ipb,Mysql,Sql,Ipb,感谢您的帮助。我们需要更新ibf_posts.author_id。我已经尝试过了,但似乎不起作用。没有错误,但查询在运行数小时后尚未完成。2.9g数据库。ibf_员额为1.9g UPDATE ibf_posts SET author_id = (SELECT member_id FROM ibf_members WHERE ibf_members.members_display_name = ibf_posts.author_name) 表:ibf_职位、i

感谢您的帮助。我们需要更新ibf_posts.author_id。我已经尝试过了,但似乎不起作用。没有错误,但查询在运行数小时后尚未完成。2.9g数据库。ibf_员额为1.9g

UPDATE ibf_posts SET author_id = (SELECT member_id FROM ibf_members 
                 WHERE ibf_members.members_display_name = ibf_posts.author_name)
表:ibf_职位、ibf_成员

ibf_posts.author_name=ibf_members.members_display_name

ibf_posts.author_id=ibf_members.member_id

[slinky = slinky]
[4814 = 4814]
但我们有:

[slinky = slinky]
[0 = 4814]
试着这样做:

UPDATE ibf_posts, ibf_members
SET ibf_posts.author_id = ibf_members.member_id
WHERE ibf_members.members_display_name = ibf_posts.author_name;

我不明白这意味着什么,但是如果你的查询运行了几个小时,那么你应该检查表是否被其他人锁定。你知道你的成员显示名和作者名是唯一的吗?。。。你的索引是什么?你能发布你的表格创建脚本吗?这项工作很棒。一开始不是这样,但在我为这些列编制索引之后就完美了。非常感谢。