我有一个表(table\u name),其中的列是sno,count。count的默认值为1。如果要增加sno所在的count列的值,请说1。。
UPDATE table_name SET count=count+1 where Sno=1;
它工作!!!
但是如果我想增加count的值,其中sno是max呢?
Sno count
1 2
2 1
基本上,我需要帮助创建:
UPDATE table_name SET count=count+1 where Sno=1;
&
select MAX(Sno) from table_name;
3条答案
按热度按时间z31licg01#
我还没测试过这个,我在打电话,但我觉得你需要通过一个恼人的圈套。
对要更新的表使用子查询,但通过将子查询嵌套在另一个子查询中,对mysql“隐藏”该事实。
这个
JOIN
这种方法也有效(来自@madhurbhaiya),如下所示。。。http://sqlfiddle.com/#!9/6f7a1f6/1号楼
bjg7j2ky2#
使用以下选项:
u91tlkcl3#
比如:
是一种显而易见的方法(在大多数rdbms中都适用),但在mysql中却不适用:
不能在from子句中为update指定目标表“table\u name”
有关有效的方法,请参见基于连接或进一步间接寻址的答案。