0

我有两个表tableA和tableB,我必须将tableA中的数据插入tableB。首先,我将从tableA中选择数据,然后插入到tableB中。

$sq = $db->prepare("SELECT userid, balance from plus_wallet order by id desc 
    limit 0,100");

依此类推,直到$sq->close();

$sql = $db->prepare("INSERT INTO `plus_user_wallet`
    (`userid`, `balance`, `update_time`) 
    VALUES(?,?,NOW() + INTERVAL 45000 second)");

依此类推,直到$sq->close();

现在我的问题是:因为我有记录数说,100,我想一次选择 100 条记录,然后插入它们,应该再次选择下 100 条记录并执行代码。我想知道我该怎么做。??第一次执行代码后如何选择接下来的 100 条记录。

4

1 回答 1

0

首先你可以使用INSERT INTO ... SELECT ... FROM语法,其次使用OFFSETinLIMIT子句

INSERT INTO `plus_user_wallet` (`userid`, `balance`, `update_time`) 
SELECT userid, balance, NOW() + INTERVAL 45000 SECOND
  FROM plus_wallet 
 ORDER BY id DESC 
 LIMIT 0, 100

然后插入接下来的 100 行,您在 LIMIT 中更改 OFFSET

LIMIT 100, 100
      ^^^
于 2013-09-25T07:43:41.680 回答