gpt4 book ai didi

php - 如何控制 MySQL 中的最后一次导入

转载 作者:行者123 更新时间:2023-11-29 14:17:59 25 4
gpt4 key购买 nike

嗯,我有一个处理一些数据的脚本,然后将其导入到 mysql 数据库中。

然后,我还有另一个脚本来处理其他一些数据,然后还将其导入到 mysql 数据库中。

我想做的事情:

我想用第三个脚本来控制(例如,查看最后导入的行数)仅使用最后一个脚本导入的行。不是由第一个导入的行(但我不希望删除第一个导入的行,只保留最后导入的行)。

MySQL 或 PHP 有什么办法可以做到这一点吗?

如果我不清楚什么,请告诉我。

提前谢谢您!

最佳答案

您始终可以向数据库添加 last_import 列。每次您的脚本将某些内容导入 mysql 数据库时,在导入之前,它都会将 last_import 的所有值更改为 no 或类似的值,然后输入其值为 yes 或类似值的行。使用此方法,您可以轻松判断哪些是最后导入的。

假设这是您的数据库:

-----------------
| id | name |
-----------------
| 1 | Simon |
-----------------
| 2 | Richard|
-----------------
| 3 | Jon |
-----------------

添加此字段:

-------------------------------
| id | name | last_import |
-------------------------------
| 1 | Simon | N |
-------------------------------
| 2 | Richard| N |
-------------------------------
| 3 | Jon | N |
-------------------------------

因此,如果您使用 mysql(如果没有,请告诉我),请在每次插入和处理数据时执行此操作:

// Process data before here
$query = "UPDATE thetable SET last_import = 'N'"; // Changes all values of last_import in table to N
$result = @mysql_query($query) or die (mysql_error());
$query = "INSERT command here"; // do your inserting, while inserting the rows, put Y as the value of the last_import.

然后在您的最终检查文件中:

$query = "SELECT * FROM thetable WHERE last_import = 'Y'"; // Selects all that was last imported
// Process the query here

这应该有效。

更新:感谢加文的建议(感谢加文!)我还建议使用时间戳值。这将像这样工作:

你的表格将是这样的:

-------------------------------
| id | name | last_import |
-------------------------------
| 1 | Simon | 1346748315 |
-------------------------------
| 2 | Richard| 1346748315 |
-------------------------------
| 3 | Jon | 1346748315 |
-------------------------------

在插入查询中:

// Process data before here
$currenttimestamp = time();
$query = "INSERT command here"; // do your inserting, while inserting the rows, put $currenttimestamp as the value of the last_import.

选择时:

$query = "SELECT last_import FROM thetable ORDER BY last_import DESC LIMIT 1"; // Selects the most recent timestamp
$result = @mysql_query($query) or die (mysql_error());
$mostrecenttstmp = @mysql_result($result, 0);
$query = "SELECT * FROM thetable WHERE last_import = '$mostrecenttstmp'";
// Process the query here

关于php - 如何控制 MySQL 中的最后一次导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12258423/

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