Maison  >  Article  >  développement back-end  >  MySQL的Update的使用,该如何处理

MySQL的Update的使用,该如何处理

WBOY
WBOYoriginal
2016-06-13 13:39:27810parcourir

MySQL的Update的使用
MySQL的更新语句update中可以用子查询吗?

 update score set 姓名='王五' where 总分=(select min(总分) from score);

我这样用为什么出错?

/*******************
CREATE TABLE IF NOT EXISTS score(
学号 BIGINT UNSIGNED,
姓名 varchar(10),
数学 TINYINT UNSIGNED,
英语 TINYINT UNSIGNED,
物理 TINYINT UNSIGNED,
计算机综合 TINYINT UNSIGNED,
总分 int UNSIGNED
);

已确保各字段数据正确插入
********************/


求教!

------解决方案--------------------
这样试试,

update score set …… where 总分 in ( SELECT * FROM (SELECT min(总分) AS 总分 FROM score)t)
------解决方案--------------------

SQL code
 update score set 姓名='王五' order by 总分 asc limit 1;
<br><font color="#e78608">------解决方案--------------------</font><br>
mysql中 update的表 不能出现在第一层的子查询中,参考4楼的方法让表绕过第一层子查询
<br><font color="#e78608">------解决方案--------------------</font><br>试一下不就知道了<br>
SQL code
UPDATE score  SET 数学=(SELECT 数学 FROM (SELECT MIN(数学) AS 数学 FROM score )t)-4 WHERE 姓名='王五'; <div class="clear">
                 
              
              
        
            </div>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn