请高手指点,我对一张表查询后再更新,查询是子查询,报错:
You can't specify target table 'a_table' for update in FROM clause
完整SQL语句是
UPDATE a_table SET STATUS=0 WHERE ID=(SELECT MIN(ID) FROM a_table WHERE STATUS=1 AND SID=12321);
这是MYSQL决定了对此写法不兼容吗?有什么方法可以不用拆分人两条?
You can't specify target table 'a_table' for update in FROM clause
完整SQL语句是
UPDATE a_table SET STATUS=0 WHERE ID=(SELECT MIN(ID) FROM a_table WHERE STATUS=1 AND SID=12321);
这是MYSQL决定了对此写法不兼容吗?有什么方法可以不用拆分人两条?
解决方案 »
- 数据表中有timestamp,如何查询出表中所有时间间隔为1分钟的记录
- 多表链接MYSQL语句:
- 如何创建关联表?
- 大家帮忙看一下,怎么时间相差了两个月啊?如何解决》郁闷
- 头疼问题:Can't find file : './mc2db/job_list.frm'<errno: 13>
- windows下,怎么使用命令行连接mysql数据库?
- 100分求优秀MySQL技术网站。
- 怎样连接jdbc到mysql中?
- MySQL和MSSQL数据库表如何同步?
- sql语句,如何实现百度贴吧,新增回复帖子置顶
- 还是请教一个交叉排列order by问题
- phpmyadmin提示:使用链接表的额外特性尚未激活。要查出原因,请单击此处。
(SELECT MIN(id) mid
FROM a_table WHERE status=1 AND sid=12321) b
ON a.id=b.mid
SET a.status=0
SET A.STATUS=0
WHERE A.ID=B.MI;