如何在 SQLite 中为 DELETE 启用 LIMIT?

发布于 2024-08-12 12:09:50 字数 112 浏览 4 评论 0 原文

使用 PHP,我有一个简单的数据库,可以存储具有相同内容的多个项目。我想在使用 DELETE 时删除第一次出现的实例。

如何使用 PHP 在 SQLite 中启用 DELETE 的 LIMIT?

Using PHP, I have a simple database that may store multiple items with the same content. I want to delete the first occurrence of an instance when I use DELETE.

How do you enable LIMIT for DELETE in SQLite using PHP?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

执着的年纪 2024-08-19 12:09:50

您可以将 limit 与 select 结合使用,也可以将 select 和删除结合起来,如下所示:

DELETE FROM Foo
WHERE someColumn in
(
  SELECT someColumn FROM FOO WHERE SomeCondition LIMIT 200
)

You can use limit with select and you can combine select and delete like:

DELETE FROM Foo
WHERE someColumn in
(
  SELECT someColumn FROM FOO WHERE SomeCondition LIMIT 200
)
画尸师 2024-08-19 12:09:50
DELETE FROM table WHERE rowid = (SELECT rowid FROM table WHERE condition LIMIT 1 )
DELETE FROM table WHERE rowid = (SELECT rowid FROM table WHERE condition LIMIT 1 )
情定在深秋 2024-08-19 12:09:50

您无法在 PHP 中启用这些选项,您需要自己编译 SQLite 才能启用这些选项。重要的是,您需要从 SQLite 下载页面<下载完整版本,而不是合并源版本/a>.

如果您使用的是 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

然后您将在 .libs 子目录中获得 sqlite3 命令行实用程序和库文件。

You cannot enable these options from within PHP, you need to compile SQLite yourself in order to enable these options. Importantly, you need to download the full version, not the amalgamation source release from SQLite download page.

If you're on Unix, get the sqlite-3.6.20.tar.gz tarball and download it. Then:

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

Then you'll have the sqlite3 command-line utility and the library files in the .libs subdirectory.

挖个坑埋了你 2024-08-19 12:09:50

此处 看来,您必须使用以下命令编译 SQLite 源代码

#define SQLITE_ENABLE_UPDATE_DELETE_LIMIT

才能启用它。

From here, it seems that you have to compile the SQLite source code using

#define SQLITE_ENABLE_UPDATE_DELETE_LIMIT

in order to enable it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文