mysql - 如何选择数据库中的下一条记录?

标签 mysql

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

$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 条记录。

最佳答案

首先,您可以使用 INSERT INTO ... SELECT ... FROM 语法,其次在 LIMIT 子句中使用 OFFSET

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
      ^^^

关于mysql - 如何选择数据库中的下一条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18998515/

相关文章:

mysql - SQL 查找所有用户的共同特征

php - 按发生的时间对时间间隔进行分组

php - MySQL/PHP新闻系统

MySQL 时间戳仅在创建时

mysql - 在 MySQL 中将日期转换为毫秒

mysql - 如果重复条目则插入更改值

mysql - MySQL 的 FULLTEXT 搜索是否为 MyISAM 和 InnoDb 返回相同的结果?

php - 如果数据库被删除,codeigniter 站点将停止工作

mysql - 尝试将值从一个表插入到另一个未找到代理键匹配的表

javascript - 如何在yii2中单击按钮时将数据从一个表保存到另一个表?