php - Mysql中断查询并从最新的ID开始另一个查询

标签 php mysql

我收到一组将被中断的查询。因此我需要停止查询,保存最后添加的ID,并在另一天继续添加最后一个ID的内容。

场景:

1)我从另一个表(表A)查询数据,如下所示:

SELECT *
FROM $table_A
ORDER BY uID ASC

2)然后我添加到一个“看起来”像这样的表(Table-B):

|¯¯¯¯¯|¯¯¯¯¯¯¯¯|¯¯¯¯¯¯|¯¯¯¯¯|¯¯¯¯¯|
| uID | SubID* | Name | Foo | Bar |
|-----|--------|------|-----|-----|
|  1  |   23   | Boo  | Goo | Shu |
|_____|________|______|_____|_____|

3) 对于从 Table-A 表中查询的每一行,我将数据添加到 Table-B 表中。 (注意:当我添加数据时,该表已经有了 uID、SubID 和 Name。)

4) 查询被中断/停止。然后,在查询停止之前,我将最新添加的行的 uID* 保存到单独的表 (Table-C) 中。

问题:如何在中断后(假设在第二天)再次开始查询,但从上次保存后的下一行开始前一天(uID 将可用)。

示例:

SELECT * 
FROM $table_A
ORDER BY uID ASC
LIMIT $last_uID, COUNT $table_A (a.k.a "the last ID in the table")

谢谢!

注释:

  • SubID 将行连接到其他表并且可以存在多次。
  • UID = 唯一标识符(自动增量)。

最佳答案

好吧,您知道最后添加的 ID 是什么,因为它将位于 table_B 中。

SELECT *
FROM $table_A
WHERE uID > (select max(uID) from table_B)
ORDER BY uID ASC

更新:

看来这就是所需要的。

SELECT all columns
FROM $table_A
WHERE uID BETWEEN $last_uID_added AND $last_uID_in_table; 

关于php - Mysql中断查询并从最新的ID开始另一个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7116961/

相关文章:

php - Android http post 参数错误代码 500

php - 在一个特定的Wordpress页面上使用PHP

mysql - SQL 一对一关系与扁平化

php - 当用户从选择框中选择选项时更改输入字段的值

javascript - 显示一条消息直到 php 脚本完成

php - 为什么这个 PHP 表单不起作用?

php - 高级自定义字段按元键值排序

javascript - 尝试输出从服务器返回的 json 数据时,值显示未定义

mysql - 获取与当前日期最接近的日期sql

javascript - PHP/MySQL 查询问题