PHP分割バッチで複数の行を挿入します

サムリー

分割されたバッチに複数の行を挿入するクエリがあります。基本的に、挿入されたバッチに対して一意のランダムIDを生成できるように、挿入をバッチに分割する必要があります。

私が試したものと失敗したものは、さまざまなオプションがあります。そのうちの1つは次のとおりです。

$batch = 150;
$sql = "SELECT DISTINCT `column` FROM `table` GROUP BY `column` ORDER BY `ID` ASC";
$sqle = $con->Execute($sql);
$results = $sqle->getrows();
for($i=0; $i<count($results);$i++){
    $columns1 = $results[$i]['column'];
      if($i==$batch){
            $randd = randcode(5).time();
                $sql = "INSERT INTO `newtable` SET `columns1` = ".$con->qstr($columns1).", `rcode` = ".$con->qstr($randd).", `DATE_PUBLISHED` = ".$con->qstr($sdate);
                $results=$con->Execute($sql);
           $i=0;
        }
}

ただし、バッチで挿入された150のクエリごとに一意のコードを挿入することはできません。

バッチごとにランダムな一意のコードを生成する際にどこが間違っていますか?また、レコード数が150未満かどうかを知りたいのですが、それをどのように処理するのですか?

スロー

これにより、バッチごとにランダムIDを設定するための基本的な方法のロジックが提供されます。

この例では、データベース接続はありません。自分で追加する必要があります。また、INSERTステートメント(スポイラー:)の構文も確認する必要がありますINSERT INTO <table name> (<columns>) VALUES (<values>)

// For this example, generate a result array with 350 rows
// (remove when using actual db query)
for ($i = 1; $i <= 350; $i++) {
    $results[] = ['column' => 'column ' . $i];
}

// Loop through all result rows
foreach ($results as $batchCounter => $result) {
    if ($batchCounter % 150 == 0) {
        // Generate a new random ID for the first row and every 150 rows
        $random = uniqid();
    }

    // Replace with proper insert statement
    echo "Insert random ", $random, ' for column "', $result['column'], '"', PHP_EOL;
}

出力:

Insert random 55e0186b0607f for column "column 1"
Insert random 55e0186b0607f for column "column 2"
Insert random 55e0186b0607f for column "column 3"
...
Insert random 55e0186b0607f for column "column 150"
Insert random 55e0186b063da for column "column 151"
Insert random 55e0186b063da for column "column 152"
Insert random 55e0186b063da for column "column 153"
...
Insert random 55e0186b063da for column "column 300"
Insert random 55e0186b0666e for column "column 301"
Insert random 55e0186b0666e for column "column 302"
Insert random 55e0186b0666e for column "column 303"
...
Insert random 55e0186b0666e for column "column 350"

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

各行を複数の行にバッチ分割します

分類Dev

複数行のバッチで配列を作成します

分類Dev

PHPで複数の行をフェッチします

分類Dev

配列を分割して、2100個のアイテムをバッチで挿入しますか?

分類Dev

Postgresqlは複数の行で選択を挿入します

分類Dev

PHP:複数のチェックボックス値を1つのMySQL列に挿入します

分類Dev

php配列を介して複数の行をmysqlに挿入します

分類Dev

php pdoは複数の行を選択し、LIMITで他のテーブルに挿入します

分類Dev

PHPは、foreachではなく配列を使用して複数の行を挿入/更新します

分類Dev

複数のphpフォーム配列をmysql行に挿入します

分類Dev

forloopなしで空の行のバッチを挿入する方法は?

分類Dev

列を複数の行に分割し、Rで左側に入力します

分類Dev

Arangodbは複数の行を挿入し、UPSERTを使用します

分類Dev

PHPPDOを使用して複数の行を挿入します

分類Dev

executeを使用して複数の行を挿入します

分類Dev

forループなしでロード時に剣道グリッドに複数の行を挿入します

分類Dev

各行に行番号をバッチ挿入します

分類Dev

バッチでの入力を使用したテキストへの複数行

分類Dev

条件付きの複数の行を挿入します

分類Dev

multi_queryで同時にdbに複数の行を挿入します

分類Dev

r2dbcで複数の挿入をバッチで実行するにはどうすればよいですか?

分類Dev

JDBCは複数の行を挿入します

分類Dev

MSAccessは複数の行を挿入します

分類Dev

SQLiteAsyncConnectionは複数の行を順番に挿入しますか?

分類Dev

AccessはSSMSに複数の行を挿入します

分類Dev

knexは複数の行を挿入します

分類Dev

SQL:一度に複数の行を挿入します

分類Dev

DynamoDBにjsonの複数行を挿入します

分類Dev

列名が異なる複数の行を挿入します

Related 関連記事

  1. 1

    各行を複数の行にバッチ分割します

  2. 2

    複数行のバッチで配列を作成します

  3. 3

    PHPで複数の行をフェッチします

  4. 4

    配列を分割して、2100個のアイテムをバッチで挿入しますか?

  5. 5

    Postgresqlは複数の行で選択を挿入します

  6. 6

    PHP:複数のチェックボックス値を1つのMySQL列に挿入します

  7. 7

    php配列を介して複数の行をmysqlに挿入します

  8. 8

    php pdoは複数の行を選択し、LIMITで他のテーブルに挿入します

  9. 9

    PHPは、foreachではなく配列を使用して複数の行を挿入/更新します

  10. 10

    複数のphpフォーム配列をmysql行に挿入します

  11. 11

    forloopなしで空の行のバッチを挿入する方法は?

  12. 12

    列を複数の行に分割し、Rで左側に入力します

  13. 13

    Arangodbは複数の行を挿入し、UPSERTを使用します

  14. 14

    PHPPDOを使用して複数の行を挿入します

  15. 15

    executeを使用して複数の行を挿入します

  16. 16

    forループなしでロード時に剣道グリッドに複数の行を挿入します

  17. 17

    各行に行番号をバッチ挿入します

  18. 18

    バッチでの入力を使用したテキストへの複数行

  19. 19

    条件付きの複数の行を挿入します

  20. 20

    multi_queryで同時にdbに複数の行を挿入します

  21. 21

    r2dbcで複数の挿入をバッチで実行するにはどうすればよいですか?

  22. 22

    JDBCは複数の行を挿入します

  23. 23

    MSAccessは複数の行を挿入します

  24. 24

    SQLiteAsyncConnectionは複数の行を順番に挿入しますか?

  25. 25

    AccessはSSMSに複数の行を挿入します

  26. 26

    knexは複数の行を挿入します

  27. 27

    SQL:一度に複数の行を挿入します

  28. 28

    DynamoDBにjsonの複数行を挿入します

  29. 29

    列名が異なる複数の行を挿入します

ホットタグ

アーカイブ