使用PHP,我有一個簡單的數據庫,可能存儲具有相同內容的多個項目。我想在使用DELETE時刪除第一次出現的實例。如何在SQLite中爲DELETE啓用LIMIT?
如何在SQLite中使用PHP在DELETE中啓用LIMIT?
使用PHP,我有一個簡單的數據庫,可能存儲具有相同內容的多個項目。我想在使用DELETE時刪除第一次出現的實例。如何在SQLite中爲DELETE啓用LIMIT?
如何在SQLite中使用PHP在DELETE中啓用LIMIT?
您無法在PHP中啓用這些選項,您需要自己編譯SQLite以啓用這些選項。重要的是,您需要下載完整版本,而不是從SQLite download page合併源版本。
如果您使用的是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
子目錄中的庫文件。
哎呦,我應該指出的是,我在使用PHP這樣做。 – user5243421 2009-12-01 07:30:17
您可以使用限制與選擇,你可以組合選擇並刪除,如:
DELETE FROM Foo
WHERE someColumn in
(
SELECT someColumn FROM FOO WHERE SomeCondition LIMIT 200
)
聰明的把戲。還有一件事:爲'someColumn'使用PK列更安全。 – guneysus 2016-07-21 09:04:13
我知道你沒有這樣做,但爲什麼我的問題被鎖定? – user5243421 2009-12-06 11:30:18
我發現它沒有工作,我使用的版本是3.7.6.2。 有沒有其他想法? – 2011-05-24 07:39:02