Используя PHP, у меня есть простая база данных, в которой можно хранить несколько элементов с одинаковым содержимым. Я хочу удалить первое вхождение экземпляра при использовании DELETE.
Как вы включаете LIMIT для DELETE в SQLite с помощью PHP?
Используя PHP, у меня есть простая база данных, в которой можно хранить несколько элементов с одинаковым содержимым. Я хочу удалить первое вхождение экземпляра при использовании DELETE.
Как вы включаете LIMIT для DELETE в SQLite с помощью PHP?
Вы не можете включить эти параметры из PHP, вам нужно самостоятельно скомпилировать SQLite, чтобы включить эти параметры. Важно отметить, что вам необходимо загрузить полную версию, а не объединенный выпуск исходного кода с страницы загрузки SQLite< /а>.
Если вы используете Unix, получите архив sqlite-3.6.20.tar.gz
и загрузите его. Потом:
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
.
--enable-update-limit
в ./configure
вместо того, чтобы касаться cflags. (Конечно, все еще необходимо определить SQLITE_ENABLE_UPDATE_DELETE_LIMIT
при использовании созданного объединения sqlite3.c
в отдельном проекте)
- person Shawn; 04.02.2021
Вы можете использовать лимит с выбором, и вы можете комбинировать выбор и удаление, например:
DELETE FROM Foo
WHERE someColumn in
(
SELECT someColumn FROM FOO WHERE SomeCondition LIMIT 200
)
someColumn
.
- person guneysus; 21.07.2016
IN
на =
.
- person Mehdi Rezzag Hebla; 27.09.2020
Из здесь видно, что вам нужно скомпилировать исходный код SQLite, используя
#define SQLITE_ENABLE_UPDATE_DELETE_LIMIT
чтобы включить его.
IN
не работало, работало только с =
- person Mehdi Rezzag Hebla; 27.09.2020