如何更新表列与另一个表列基于另一个基于2其他列

时间:2014-06-04 19:39:13

标签: php mysql

嘿伙计们会怎么样?

好的,所以我在编写一个小脚本时遇到了麻烦,而我似乎无法理解我的推理不起作用:

使用tech_kunena_topics.subjects更新所有tech_kunena_messages.subject,其中tech_kunena_messages.thread和tech_kunena_topics.id相同......

我想出的脚本就是:

 $con = mysql_connect($host,$user,$pass) or die(mysql_error());
    mysql_selectdb($db,$con) or die(mysql_error());

    mysql_query("UPDATE tech_kunena_messages 
        SET tech_kunena_messages.subject=tech_kunena_topics.subject
      FROM tech_kunena_messages 
      JOIN  tech_kunena_topics ON tech_kunena_messages.thread = tech_kunena_topics.id");
    echo "Done Pease check the data base";
    mysql_close($con);
    ?>

但由于某种原因,tech_kunena_messages.subject没有得到更新任何东西,这就像我第三次写一个脚本,我没有反应,看我有什么问题它应该工作(我也尝试过内部加入,但没有任何事情发生哦代码正在阅读,因为当我导航到脚本我得到请检查数据库..

任何想法?

谢谢你们

亚历

1 个答案:

答案 0 :(得分:0)

您的UPDATE查询应如下所示

UPDATE tech_kunena_messages tkm              
      JOIN  tech_kunena_topics tkt
   ON tkm.thread = tkt.id
SET tkm.subject= tkt.subject