Mysql 如何仅使用SQL使用另一个表中的信息更新表?
MySQL版本14.14发行版5.7.16,适用于Win64 x86_64 我有两张桌子:Mysql 如何仅使用SQL使用另一个表中的信息更新表?,mysql,Mysql,MySQL版本14.14发行版5.7.16,适用于Win64 x86_64 我有两张桌子: content_table: content_id, content(String), tag_id(int) tag_table: tag_id(int), tag(String) 现在content_table.tag_id都为空 我想做这样的事情: 对于content_表中的每条记录,我只想找到一个合适的标记,并更新record.tag_id。标记应该是内容的子字符串 有没有一种方法可以只使用S
content_table: content_id, content(String), tag_id(int)
tag_table: tag_id(int), tag(String)
现在content_table.tag_id都为空
我想做这样的事情:
对于content_表中的每条记录,我只想找到一个合适的标记,并更新record.tag_id。标记应该是内容的子字符串
有没有一种方法可以只使用SQL来实现这一点?
或者我必须使用JDBC或者其他语言的东西
谢谢
数据示例:
在content_表中,我有以下记录:
内容id、内容、标签id
1,这是一部很棒的电影,0
2.我上周买的车
他的iPad是他哥哥送给他的礼物
在tag_表中,我有以下记录:
标签号,标签号
1、电影
2、iPad
3、汽车
4、电话
...
操作后,我想将content_表更新为:
内容id、内容、标签id
这是一部很棒的电影
我上周买了这辆车
他的iPad是他哥哥送给他的礼物
这些记录都是示例,事实上,content_表中有10K+条记录,tag_表中有3k+条记录。使用tag_id填充二维数组,tag从tag表中取出,然后在数组中迭代到substiture id和类似变量,从数组中放入以下更新sql语句并执行该语句: 字符串sqlUpdate=updatecontent\u table SET tag\u id=+tagArray[i][0]+
其中内容,如CONCAT“%”,+tagArray[i][1]+,“%” 您能分享一些示例数据和/或解释如何将标签与内容匹配吗?无法理解您想要实现什么选择mysql。这对一两条记录很好,但如果每个表中有10k+条记录,我该怎么办?同意,我将结合Java和这个sql命令来迭代记录,并动态地填充update命令。因此,从标记表填充一个数组,然后在数组上迭代以替换数组中的id和类似变量。