doujiu5464 2017-04-17 06:36
浏览 36

MYSQL在PHP循环时更新和删除查询

I am trying to update a user portfolio table to update when a user sells a share of a item. I want to subtract one from shares until the desired number of shares to sell hits 0. Then when the shares of that item reaches 0 I want to delete that row from the users portfolio. I believe I have to use a while loop and the TOP command because users often have made many different purchases of the same item so they are stored in different records in the table. I think am I pretty close but I can not get either the update or delete query in my loop to run.

while ($sharesToSell >0) 
{
 $sql="UPDATE TOP (1) portfolio SET shares= shares-1 WHERE 
 userid='".$userid."'AND songid='".$songID."';";
 $result6 = $connection->query($sql);
 $sharesToSell-=1;
 if($sharesToSell>0)
 {
  $sql="DELETE FROM PORTFOLIO WHERE shares='0';";
  $result7 = $connection->query($sql);
 }
}
  • 写回答

2条回答 默认 最新

  • doulianxi0587 2017-04-17 07:00
    关注

    update your first query and use limit instead top

     $sql="UPDATE TOP (1) portfolio SET shares= shares-1 WHERE 
     userid='".$userid."'AND songid='".$songID."';";
    

    to

    $sql="UPDATE  portfolio SET shares= shares-1 WHERE
     userid='".$userid."'AND songid='".$songID."' limit 1";
    

    use limit instead top

    评论

报告相同问题?

悬赏问题

  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器