不好意思,写错了."UPDATE FROM" 的"FROM"不要的.

解决方案 »

  1.   

    $result=mysql_query("select table1.pid from table1,table2 
        where table1.pid=table2.pid ");//查询所有要修改的记录
    while($row = mysql_fetch_row($result)){
        mysql_query("update table1 set sum=sum-1 where pid='$row[0]'");//修改
    }
    你的update语句过不了啊,update 不用from
    update tablename set propertyname=somevalue  where ……
      

  2.   

    这样分两步的方法当然是可以的了,但我要的是用一句语句来完成.
    我在MYSQL中试过,语句执行没有问题,可就是结果不改变!可能跟MYSQL
    也有关系的吧.在MSSQL中是可以的,真见鬼!
      

  3.   

    一条语句是不可能的   update只能更新一条记录,你要改的数据较多,需要遍历
    写复杂了自己以后也难看懂啊    ~
      

  4.   

    两天语句执行并不意味浪费时间,如果都写在一条语句里面,mysql对查询语法分析就要消耗更多时间,虽然一般的数据库系统对这些都做了优化,语句本身执行所作的数学运算复杂度更大
    这和intel使用精简指令系统一样道理,比如做乘法运算,用一条复杂指令需50个机器周期,用5条简单指令可能只需40周期
    肤浅之见,呵呵