首先问题描述:我现在有两个表,一个表是关键词,一个表是含有关键词的标签,需要做的就是在关键词表中新建一个标签字段,把包含该关键词的全部标签存入其中。比如关键词是Java,标签可能有Java开发,Java后台等。我这里关键词有4000个,标签有40000个,我用了小段java代码+sql的函数就完成了。
基本思想:对于给定的关键词,把包含关键词的标签筛选出来,然后存到一张表里,再把该表的结果一条条读出,存放到关键词表的字段里去。想法比较简单,涉及到一些sql操作可以了解一下。
步骤1:读取关键词和对应ID,(ID是更新时需要,也可以根据关键词更新):
String sql = "select keyword,id from 表名";
ResultSet queryResult = DBUtil.queryRDBdata(sql);
while (queryResult.next()) {
String word = queryResult.getString("keyword");
int id=queryResult.getInt("id");
}
步骤2:筛选出包含关键词(word变量)的标签存入表b,这是一个临时的表
String sql0 = "CREATE table b SELECT concat_ws(':',label,count) from 表名 where label like \"%" + word + "%\&#