2013-09-25 2 views
0

J'ai deux tables tableA et tableB, je dois insérer des données de tableA à tableB. Premièrement, je vais sélectionner les données de tableA et ensuite insérer dans la tableB.Comment sélectionner les enregistrements suivants dans la base de données?

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

et ainsi de suite jusqu'à $sq->close();

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

et ainsi de suite jusqu'à $sq->close();

Maintenant, ma question est la suivante: comme je l'ai nombre d'enregistrements dire 100 et je veux sélectionner 100 enregistrements à une fois, puis les insérer, à nouveau les 100 enregistrements suivants doivent être sélectionnés et le code doit être exécuté. Je veux savoir comment puis-je faire cela? Comment puis-je sélectionner les 100 prochains enregistrements après le code exécuté pour la première fois.

Répondre

0

tout d'abord, vous pouvez utiliser INSERT INTO ... SELECT ... FROM syntaxe et d'autre part OFFSET dans LIMIT clause

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 

ensuite d'insérer 100 lignes suivantes vous modifiez OFFSET dans LIMITE

LIMIT 100, 100 
     ^^^ 
+0

@VishalParkash at-il aidé? Avez-vous besoin de plus d'aide pour votre question? – peterm

Questions connexes