2009-04-30 83 views

回答

7
DELETE FROM 
    MyTable 
WHERE 
    Id = (SELECT MIN(Id) FROM MyTable); 
0
DELETE FROM 
    tablename 
WHERE 
    rowid= (SELECT MIN(rowid) FROM tablename) 
4

在大多数情况下这样的,ROWID是一个索引列。如果是这样的情况下,更快的解决方案是:

DELETE FROM 
    tablename 
WHERE 
    rowid= (SELECT rowid FROM tablename order by rowid limit 1) 

如果ROWID不是那么索引:

DELETE FROM 
    tablename 
WHERE 
    rowid= (SELECT MIN(rowid) FROM tablename) 

我仍然测试的第一个,因为它往往会更快,甚至如果rowid未编入索引。