MySQL一条语句实现同时查询和修改
2013-05-10 17:21
330 查看
MySQL一条语句实现同时查询和修改
现在想仅执行一条mysql语句得到:查询到sid=2的用户,然后修改gid的值为123。
简单这样写:
错误码: 1093
You can't specify target table 'user' for update in FROM clause
现在想仅执行一条mysql语句得到:查询到sid=2的用户,然后修改gid的值为123。
简单这样写:
UPDATE `user` SET `gid`='123' WHERE id IN (SELECT id FROM `user` WHERE sid=2)肯定会报错:
错误码: 1093
You can't specify target table 'user' for update in FROM clause
错误提示就是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)解决办法:
UPDATE `user` AS A INNER JOIN (SELECT id FROM `user` WHERE `sid`=2) AS B ON A.id=B.id SET A.gid='123'
相关文章推荐
- MySQL一条语句实现同时查询和修改
- 【MySQL】如何使用C#+MySQL实现一条MySQL语句进行多表查询
- 【MySQL】如何使用C#+MySQL实现一条MySQL语句进行多表查询
- MySQL语句大全:创建、授权、查询、修改
- MySql语句大全:创建、授权、查询、修改等
- MySQL中根据if标签实现多条件模糊查询(动态SQL语句)
- [置顶] MySQL与Oracle查询一条语句,如果有则更新,无则添加
- 如何在Sql Server 2000中用一条语句实现树的查询
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
- 资料 mybatis 一条语句 分页查询(同时获得符合条件的总记录数)
- Mysql增加、删除和修改列属性和约束,和一些有用的查询语句
- JSP+Servlet+Tomcat+Mysql实现注册、登陆、修改、添加、查看、分页实例之----查询列表
- MySQL中使用case when 语句实现多条件查询的方法
- MySql语句大全:创建、授权、查询、修改等
- 一条SQL语句修改多表多字段的信息的具体实现
- MySql语句大全:创建、授权、查询、修改等
- MySql的sql语句中添加存储过程或者存储函数来实现Oracle中的start with ……connect by prior……递归(树形结构数据)查询
- SQL数据库查询实现行转列与列转行结果SQL语句(适用于SqlServer数据库,oracle需要修改case when语句)
- mysql 下 计算 两点 经纬度 之间的距离 含具体sql语句以及伪列作为查询条件实现
- MySql语句大全:创建、授权、查询、修改等