问题描述
我有一个表格,其中包含我们知识库中的知识文章信息。
为简单起见,它包含以下列:
articleID,title,knowledge_base,state,article_content
状态是文章的工作流程状态,我只关心发布的版本,文章的内容是文章的html。
我们正在删除Knowledge_base2,但是Knowledge_base1中有一些文章链接到这些文章,我需要查找并删除那些链接。
链接包含文章的articleID,所以我认为这很容易。
我想在article_content列中搜索对Knowledge_base2的articleID的任何引用。我使用了这段代码:
/* Any knowledge_base1 articles that link to an article in knowledge_base2. */
Select a.articleID,a.title
FROM table1 a
Join (SELECT articleID
From table1 b
Where state = 'Published'
AND knowledge_base LIKE 'Knowledge_base2') b
ON a.articleID = b.articleID
WHERE a.knowledge_base = 'Knowledge_base1'
AND a.state = 'Published'
AND a.`article_content` LIKE concat('%',b.articleID,'%')
ORDER BY a.articleID
运行此命令时,我没有结果,但没有错误。我知道Knowledge_base1中有一些链接引用了Knowledge_base2中的那些文章ID,因此应该有很多结果。我认为这行是我错的地方:“和a。article_content
之类的concat('%',b.number,'%')”
有没有更好的方法来写这个?请注意,我对该数据库具有只读权限,并且无法使用本地临时表。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)