UPDATE user SET password = '012' WHERE id = (SELECT MAX(id) FROM user WHERE username ='mary'); 试试这个行不?你的意思是更新id为最大的mary的password,对吧?因为id最大的用户名不一定也是mary吧?还是有点不太了解你的意思,哈哈.....
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT rows] 使用如下语句:update user set password='012' where username='mary' order by id desc limit 1;
条件:
1 username = mary
2 id = MAX(id)
结果:
update password = 012不好意思,我表达能力不是很强,可能没说明白。
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]
[ORDER BY ...]
[LIMIT rows]
使用如下语句:update user set password='012' where username='mary' order by id desc limit 1;
后者,就只有当最后一条记录的username='mary'才会有更新。正常来说,应该是前者吧。。
楼主那句话真是自己思路都不清楚吧