test mjom <[EMAIL PROTECTED]> writes: > create table tbl1 ( id integer primary key autoincrement, ref > integer, sts varchar(16)); > insert into tbl1 (ref,sts) values (10, 'ready' ); > insert into tbl1 (ref,sts) values (20, 'ready' ); insert into tbl1 > (ref,sts) values (30, 'ready' ); > update tbl1 set sts='busy' where sts='ready' ORDER BY ref DESC LIMIT 1; > > => i would like to have only the third record (30,'busy') updated.
How about something like UPDATE tbl1 SET sts = 'busy' WHERE ref = (SELECT ref FROM tbl1 WHERE sts = 'ready' ORDER BY ref DESC LIMIT 1); Derrell