我收到一组将被中断的查询。因此我需要停止查询,保存最后添加的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/