gpt4 book ai didi

php - SELECT 然后立即 DELETE mysql 记录

转载 作者:IT王子 更新时间:2023-10-29 00:34:02 26 4
gpt4 key购买 nike

我有一个运行 SELECT 查询然后立即删除记录的 PHP 脚本。有多台机器正在 ping 同一个 php 文件并从同一个表中获取数据。每台远程机器都在运行一个 cron 作业。

我的问题是有时它无法足够快地删除,因为某些机器同时 ping。

我的问题是,我如何从数据库中选择一条记录并在下一台机器抓取它之前将其删除。现在我只是添加了一个短暂的延迟,但它运行得不是很好。我尝试使用事务,但我认为它不适用于这里。

这是我的脚本的示例片段:

<?php

$query = "SELECT * FROM `queue` LIMIT 1";
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)){
$email = $row['email'];
$campaign_id = $row['campaign'];
}

$queryx = "DELETE FROM `queue` WHERE `email` = '".$email."'";
$resultx = mysql_query($queryx) or die(mysql_error());

?>

非常感谢您的帮助。

最佳答案

如果您使用的是 MariaDB 10:

DELETE FROM `queue` LIMIT 1 RETURNING *

Documentation .

关于php - SELECT 然后立即 DELETE mysql 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9137750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com