Как включить ограничение для удаления в SQLite?
с помощью PHP, у меня есть простая база данных, которая может хранить несколько элементов с одинаковым содержанием. Я хочу удалить первое вхождение экземпляра при использовании DELETE.
Как включить ограничение на удаление в SQLite с помощью PHP?
4 ответов
вы не можете включить эти параметры в PHP, вам нужно скомпилировать SQLite самостоятельно для того, чтобы включить эти функции. Важно отметить, что вам нужно скачать полная версия, а не объединение исходный релиз от SQLite страница загрузки.
если вы находитесь в Unix, получите sqlite-3.6.20.tar.gz
tarball и загрузите его. Затем:
tar xzf sqlite-3.6.20.tar.gz
cd sqlite-3.6.20
export CFLAGS='-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1'
./configure
make
тогда у вас будет sqlite3
утилита командной строки и файлы библиотеки в .libs
подкаталог.
вы можете использовать limit с select, и вы можете комбинировать select и delete как:
DELETE FROM Foo
WHERE someColumn in
(
SELECT someColumn FROM FOO WHERE SomeCondition LIMIT 200
)
С здесь, похоже, вам нужно скомпилировать исходный код SQLite с помощью
#define SQLITE_ENABLE_UPDATE_DELETE_LIMIT
для того, чтобы включить его.