需求: 查询/更新某列(id) 最大值的行.
尝试1:
select * from table where id =max(select max(id) from table); --可以通过
update table set name='new name' where id =max(select max(id) from table); --不能可以通过
不能通过原因 ,求解释?
尝试2: 通过用户变量:(可行)
select @maxid :=max(id) from hchkpage;
update hchkpage set payeename = 'new name' where id =@maxid;
此方法可行, 局限在数据库客户端, 在程序中不能使用.
通过参考mysql官方文档:
http://dev.mysql.com/doc/refman/5.1/zh/index.html
http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#update
想到此方法:
update hchkpage set payeename='good' order by id desc limit 1;
:通过条件排序和使用limit限制查询条数可取得最大行 ,执行更新.
总结: 遇到问题参考官方文档.
分享到:
相关推荐
本文是mysql 数据库 问题一 将表一的数据导入表二...在表中插入数据时,某一字段取数据库中该字段的最大值,并+1,这个问题很多人都说用存储过程什么的解决,其实使用insert 和 select 结合就可以很好的解决这个问题啊
一、函数功能:对字符串进行分隔数组,取指定顺序位置的子字符串,支持左右双向获取,支持默认值返回,附有测试用例 二、函数格式:fn_get_split_val(in_str varchar,in_delimiter varchar,in_order int,in_default ...
如果是直接在数据库拉取 from django.db.models import Max Argument.objects.all().aggregate(Max(‘rating’)) 如果是从已经存在的model列表获取 from django.db.models import Max args = Argument.objects....
每个类型的存储需求取决于列值的实际长度(用前面的表中的L表示),而不是该类型的最大可能的大小。例如,VARCHAR(10)列可以容纳最大长度为10的字符串。实际存储需求是字符串(L)的长度,加上一个记录字符串长度的字节...
如果你增加 MONTH、YEAR_MONTH 或 YEAR,并且结果日期的天比新月份的最大天数还大,那么它将被调整到新月份的最大天数: mysql> SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH); -> 1998-02-28 注意,上面的例子...
# 你的操作系统在这个队列大小上有它自己的限制(可以检查你的OS文档找出这个变量的最大值),试图设定back_log高于你的操作系统的限制将是无效的。 max_connections = 500 # MySQL的最大连接数,如果服务器的并发...
MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符...
MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 5.BLOB TEXT类型,最大长度为(2^16-1)个字符。 6...
auto_increment自增模式,设置自增后在插入数据的时候就不需要给该列插入值了。 4、 foreign key 约束 外键约束是保证一个或两个表之间的参照完整性,外键是构建于一个表的两个字段或是两个表的两个字段之间的参照...
max—聚合函数 取最大值 (case course when ‘语文’ then score else 0 end) —判断 as 语文—别名作为列名 SELECT `name`, MAX( CASE WHEN course='\u8bed\u6587' THEN score END ) AS 语文, MAX( CASE...
SQL(MySQL) LEFT JOIN 会取得左表(table1)全部记录,即使右表(table2)并无对应匹配记录。LEFT JOIN 基本语法如下: ... FROM table1 LEFT JOIN table2 ON condition ... MySQL LEFT JOIN 用法实例 下面是两...
float[(M,D)] 10的(M-D)次方->代表最大值 D->代表保留位数不够补0 //For float(M,D), double(M,D) or decimal(M,D), M must be >= D //只写M 0-24代表float精确度总的十位数超过6位用科学计数法,小数超出四舍五...
(1)max:求最大值 求每个部门的最高工资: [sql] view plain copy select EMP_NAME,EMP_DEP,max(EMP_SALARY) from EMPLOYEES group by EMP_DEP; (2)min:求最小值 求每个部门的最仰工资: [sql] view plain ...
取子字符串,从start开始,取count个 SQL> select substr('13088888888',3,8) from dual; SUBSTR(' -------- 08888888 12.REPLACE('string','s1','s2') string 希望被替换的字符或变量 s1 被替换的字符串 s2...
取决于项目运行了多长时间,这可能没有问题,或者可能意味着您的领域在某个时候有溢出的危险。 一些用户名已经使用了最大长度。 如果您的数据库设计与您的应用程序同步,这可能是可以的。 用户业力列中的负值已经...
ORDER BY 子句取一个或多个列的名字。 对空值,按无穷大处理(升序中,空值排最后;降序中排最前)。 1、用法:Select prod_id,prod_price,prod_name From Products Order By prod_price,prod_name; (从左到右...
8.1.2 列值子查询 8.2 SELECT列表中的标量子查询 8.3 WHERE子句中的标量子查询 8.4 集合运算符与子查询 8.4.1 IN运算符 8.4.2 ANY和SOME运算符 8.4.3 ALL运算符 8.4.4 EXISTS运算符 8.5 在其他...
8.1.2 列值子查询 8.2 SELECT列表中的标量子查询 8.3 WHERE子句中的标量子查询 8.4 集合运算符与子查询 8.4.1 IN运算符 8.4.2 ANY和SOME运算符 8.4.3 ALL运算符 8.4.4 EXISTS运算符 8.5 在其他...
8.1.2 列值子查询 8.2 SELECT列表中的标量子查询 8.3 WHERE子句中的标量子查询 8.4 集合运算符与子查询 8.4.1 IN运算符 8.4.2 ANY和SOME运算符 8.4.3 ALL运算符 8.4.4 EXISTS运算符 8.5 在其他...