我有两个表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条记录。
答案 0 :(得分:0)
首先,您可以使用INSERT INTO ... SELECT ... FROM
语法,然后在OFFSET
子句中使用LIMIT
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
^^^