当前位置:   article > 正文

关于mysql数据库对一张数据表查询的同时进行增删改操作_mysql增删操作时 能查询出数据吗

mysql增删操作时 能查询出数据吗

已经在mysql数据库中创建好数据表

这里写图片描述

在对mysql数据库操作的过程中遇到下面问题:

这里写图片描述

You can’t specify target table ‘t_vip’ for update in FROM clause

本次操作是删除账户金额最高的那个用户,sql如下

DELETE FROM t_vip WHERE vip_money=(SELECT MAX(vip_money) FROM t_vip )

原因是因为mysql数据库不允许在查询一张数据表的同时对同一张数据表进行增删改的操作。

解决方案:

修改SQL语句:

DELETE FROM t_vip WHERE vip_money=(SELECT * FROM (SELECT MAX(vip_money) AS max_money FROM t_vip)AS a )

第一次查询找出了数据表中最大值,将这次结果取名为a 表,通过对a 表再次查询,此时是对两张不同的表进行查询与修改,解决上面问题。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/750571
推荐阅读
相关标签
  

闽ICP备14008679号