search

Home  >  Q&A  >  body text

【求助】用php怎么把这个mysql下的两个表进行关联?

数据表A:

数据表B:

问题描述:
表A和表B分别为两个电影数据的表,
如果表B的电影信息与表A的电影信息一致,
把表B的id赋值给表A对应数据的“fname”字段中去。

遇到的问题:
如果单靠两个表的“title”来判断是否一致的话,
会遇到电影的名字有相同的情况,

PS:最主要的是想通过程序自动进行两个表的电影数据进行一条条判断,
可以不用人工干预,不知道这个实现的方法与思路是怎么样的,
求助了!

PHP中文网PHP中文网2894 days ago354

reply all(3)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 17:39:34

    你这两个表之间要有关联只可能通过title字段,如果遇到两部电影名字相同的情况就没办法了

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 17:39:34

    直接执行关联更新,再处理特殊情况

    UPDATE A a LEFT JOIN B b ON a.title = b.title SET a.fname = b.id

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 17:39:34

    B表的数据,设置到ES(elasticsearch)的索引,然后遍历A表的数据,通过ES搜索最匹配的结果,把id设置进去。这里你可以设置一个数组用来检测重复。重复的再单独处理。

    具体A,B哪张表做索引的话,一般用数据多的做索引好点,减少重复概率,匹配率一般有90%以上,当然如果数据量太大的话,遍历的话需要很久。

    我原来就是这么干的,当然处理的数据不是电影就是。

    reply
    0
  • Cancelreply