我有一个文本列,其中包含我想要更新的较长文本的部分摘录。
例如,列可能包含:
这是一个长文本字符串...
我需要用以下内容替换上面的内容:
这是一个包含更多信息的长文本字符串,应该存储在数据库中。
我尝试过以下方法:
SELECT * FROM database.table WHERE MATCH (column) AGAINST ('This is a long text string that contains a lot more information and should be stored in the database.' IN NATURAL LANGUAGE MODE);
但是,这会返回许多结果,其中包含较长版本文本中的一个或多个单词。如何找到仅包含针对较长文本的确切现有单词的现有行?原始代码段上的省略号是有意的,因为较长的字符串先前被截断。我还可以合理地期望截断的文本列是唯一的,从而产生一个结果。
修改
我通过简单地获取较长文本的前X个字符并将其与现有数据进行匹配来解决这个问题。这是因为每行的唯一性。
答案 0 :(得分:0)
结束我可以使用%text
代替%text%
找到匹配项,并指定仅匹配前20个字符。