¿Cómo habilita LIMIT para DELETE en SQLite?

Usando PHP, tengo una base de datos simple que puede almacenar múltiples elementos con el mismo contenido. Quiero eliminar la primera aparición de una instancia cuando uso DELETE.

¿Cómo habilita LIMIT para DELETE en SQLite usando PHP?

No puede habilitar estas opciones desde PHP, necesita comstackr SQLite usted mismo para habilitar estas opciones. Es importante que tenga que descargar la versión completa, no la versión fuente de amalgamación de la página de descarga de SQLite .

Si está en Unix, obtenga el tarball sqlite-3.6.20.tar.gz y descárguelo. Entonces:

 tar xzf sqlite-3.6.20.tar.gz cd sqlite-3.6.20 export CFLAGS='-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1' ./configure make 

Luego tendrá la sqlite3 de línea de comandos sqlite3 y los archivos de la biblioteca en el subdirectorio .libs .

Puede usar limit con select y puede combinar seleccionar y eliminar como:

 DELETE FROM Foo WHERE someColumn in ( SELECT someColumn FROM FOO WHERE SomeCondition LIMIT 200 ) 
 DELETE FROM table WHERE rowid = (SELECT rowid FROM table WHERE condition LIMIT 1 ) 

A partir de aquí , parece que tienes que comstackr el código fuente de SQLite usando

 #define SQLITE_ENABLE_UPDATE_DELETE_LIMIT 

para poder habilitarlo