use*_*421 7 sqlite limit sql-delete
使用PHP,我有一个简单的数据库,可以存储具有相同内容的多个项目.我想在使用DELETE时删除第一次出现的实例.
如何使用PHP在SQLite中启用LIMIT for DELETE?
小智 21
您可以使用限制选择,您可以组合选择和删除,如:
DELETE FROM Foo
WHERE someColumn in
(
SELECT someColumn FROM FOO WHERE SomeCondition LIMIT 200
)
Run Code Online (Sandbox Code Playgroud)
Cha*_*aka 14
DELETE FROM table WHERE rowid = (SELECT rowid FROM table WHERE condition LIMIT 1 )
Run Code Online (Sandbox Code Playgroud)
int*_*tgr 10
您无法在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
Run Code Online (Sandbox Code Playgroud)
然后,您将sqlite3
在.libs
子目录中拥有命令行实用程序和库文件.