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;
相关问答:
我是用mysql自带的C API
if(mysql_real_connect(&mysql,"125.0.0.108","root","root","home",3306,NULL,0))
{
AfxMessageBox("数据库连接失败") ......
在三十讲遇到这样一个问题就是运行代码时出现错误 Fatal error: Call to undefined method mysql::fetch_array() in D:\WWW\news\index.php on line 12
,我把mysql::fetch_array() 改成mysql::fetch_row() 又出现F ......
我对SQL SERVER和ACCESS比较熟,所以数据库的通用基础东西可以说都掌握的差不多了,我现在想要的就是以上两数据库的独特之处的介绍和应用介绍。
另外书最好对应最新版本 oracle是11g吧 10的也行;mysql是5.1吧
谢 ......
我的Mysql 使用的时候 用dos建立的数据表 在dos中能显示出中文
但是在 其他的可视页面 和网页中都显示乱码 如何解决?
在mysql控制台:show variables like 'char%';贴结果出来看看。
mysql命令行模式下: ......
我开发ASP.net时
插入外文乱码
SHOW VARIABLES LIKE 'character%';
这个时候
character_set_client utf8
character_set_connection utf8
character_set_database utf8
ch ......