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决定了对此写法不兼容吗?有什么方法可以不用拆分人两条?
mysql不允许更新或者删除一个表中数据的同时从同一个表中查询,用连接查询。
SQL code:
UPDATE a_table a INNER JOIN
(SELECT MIN(id) mid
from a_table WHERE status=1 AND sid=12321) b
ON a.id=b.mid
SET a.status=0
UPDATE a_table A ,(SELECT MIN(ID) AS MI from a_table WHERE STATUS=1 AND SID=12321) B
SET A.STATUS=0
WHERE A.ID=B.MI;
相关问答:
Winform+MySQL做项目,在注重性能的情况下,我该如何去完成这类型的项目呢!
请各位给以提示。
你这个范围太广了,我说2点重要的吧
1.WINFORM程序是单独运行的CS程序,和BS不同,BS的压力始终都在SERVER上的,对C ......
我以前安装了一次,后来卸载了,现在再安装的时候,提示错误:Error 1305.Error reading from file C:DOCUME~1\LOCALS~1\Temp\mysql_server.msi.Verify that the file exists and that you can access it.
可是我找 ......
有个winform程序,使用c#+mysql,需要在一个窗体设置mysql自动删除功能,包括自动删除多少天之前的数据以及是否开启自动删除功能,我程序退出后,还怎么控制Mysql自己删除啊?是不是要用mysql的event来实现?c#可以调用mysq ......
SQL code:
CREATE PROCEDURE A()
BEGIN
DECLARE 'Constraint Violation'
CONDITION FOR sqlexception;
DECLARE EXIT HANDLER FOR
'Constraint Violation' ROLLBACK;
BEGIN TRAN ......
我开发ASP.net时
插入外文乱码
SHOW VARIABLES LIKE 'character%';
这个时候
character_set_client utf8
character_set_connection utf8
character_set_database utf8
ch ......