DELETE does support the offset (http://dev.mysql.com/doc/refman/5.0/en/delete.html) the problem is you have an erroneous equals character:
You wrote: DELETE FROM tablename ORDER BY creation DESC LIMIT=n You need: DELETE FROM tablename ORDER BY creation DESC LIMIT offset, count HTH, --Rob > The offset is what I was thinking of - that would be the simplest - but as far as I can tell, delete doesn't support the offset. It's not documented, and it gives me an error when I try it. I was hoping to avoid two queries but it sounds like that's what I might have to do. On Oct 4, 2006, at 8:37 AM, Dan Julson wrote: > You can add an offset in the Limit statement. Look at the Select > Syntax in > the docs. > > There is an even simpler solution to this problem. Use your > creation field > within a Where clause instead of using Order by and Limit. > > -Dan > > > I'm trying to delete all but the newest n records. > > DELETE FROM tablename ORDER BY creation DESC LIMIT=n > > This does the opposite of what I want. Is there some way to tell it > to start the delete after n and delete all the remaining records? > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ < ---------- Original Message ---------- FROM: Brian Dunning <[EMAIL PROTECTED]> TO: mysql@lists.mysql.com DATE: Wed, 4 Oct 2006 08:49:48 -0700 SUBJECT: Re: Deleting, skip the first n records The offset is what I was thinking of - that would be the simplest - but as far as I can tell, delete doesn't support the offset. It's not documented, and it gives me an error when I try it. I was hoping to avoid two queries but it sounds like that's what I might have to do. On Oct 4, 2006, at 8:37 AM, Dan Julson wrote: > You can add an offset in the Limit statement. Look at the Select > Syntax in > the docs. > > There is an even simpler solution to this problem. Use your > creation field > within a Where clause instead of using Order by and Limit. > > -Dan > > > I'm trying to delete all but the newest n records. > > DELETE FROM tablename ORDER BY creation DESC LIMIT=n > > This does the opposite of what I want. Is there some way to tell it > to start the delete after n and delete all the remaining records? > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]