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

くそー野菜

以前はSQLiteを使用していましたが、Insert in aloopを使用して複数の行を追加するのforは時間がかかりました。解決策はを使用していましたtransaction

SQLiteAsyncConnectionSQLite.Net(ORM用)で使用しているので、も使用しようとしましたtransactionそれは機能しますが、問題は1つだけです。挿入順序はデータの順序ではありません。

Database.RunInTransactionAsync(
    (SQLiteConnection conn) => {
        foreach (var row in rows)
        {
            conn.InsertOrReplace(row);
        }
        conn.Commit();
    }
);

rows[1,2,3,4,5,6]が含まれている場合、データベースの行は[3,1,2,6,4,5]のようになります。元の注文を維持するにはどうすればよいですか?

新しく挿入された行のみを意味することに注意してください。コードが既存の行を置き換えているとはいえ、テスト時に、データベースに置き換えられる既存の行はありませんでした。

PS:行が有しIDているフィールド[PrimaryKey]が、中rows列によってソートされていませんIDデータベースでは、行はID。でソートされているようです。並べ替えたくはありませんIDが、元の順序を維持します。

PS 2ID最後に挿入された行を知る必要があります。のようなGUIツールを使用してデータベースを表示しDB Browser for SQLiteたり、最後の項目をで取得したりLIMIT 1すると、SQLiteは自動的に行をで並べ替えたようIDです。Googleで検索したところ、SQLのルールによると、がない場合ORDER BY、返される行の順序は、とにかく物理的な順序であるとは限りません。別のフィールドを作成して、それをプライマリの自動増加フィールドとして設定する必要がありますか?

現在、ID行ごとに一意であることが保証されていますが、「ID」はデータ自体の一部であり、データベースで使用するために特別に追加されたフィールドではありません。

CL。

SQLテーブルは論理的に順序付けされていないため、特定の順序が必要な場合は、クエリで常にORDERBYを使用する必要があります。

データに挿入順序に対応する値(タイムスタンプなど)が含まれていない場合は、ROWIDを使用する必要があります。つまり、INTEGER PRIMARYKEYとして宣言された列を追加します。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Sqlite3は複数の行を順番に挿入していません

分類Dev

IDを使用して複数の行を挿入する場合、順序は保証されますか?

分類Dev

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

分類Dev

複数のスレッドを順番に実行していますか?

分類Dev

VBAを使用して複数の画像を挿入し、ダイアログボックスで選択した順に挿入する方法はありますか?

分類Dev

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

分類Dev

複数の行に2番目の自動インクリメントIDを挿入します

分類Dev

selectから別のテーブルに複数の行を挿入します

分類Dev

PDOは単一のクエリに複数の行を挿入します

分類Dev

PostgreSQLはcsvから複数行を挿入します

分類Dev

クエリの複数行から値を挿入します

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

挿入内の単一の行から複数の行を選択クエリに挿入します

分類Dev

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

分類Dev

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

分類Dev

mysql行に複数のIDを挿入します

分類Dev

条件に基づいて複数の行を挿入します

分類Dev

配列内の複数の事前定義されたスポットに動的な数値を(順番に)挿入します

分類Dev

1つの変数入力PL / SQLを使用してdbの複数行に挿入しますか?

分類Dev

複数の<select>オプションを複数の行に挿入します

分類Dev

Hbaseは複数のバージョンを挿入順にスキャンします

分類Dev

MariaDBは、複数のサブクエリを持つ複数の行に「挿入」します

分類Dev

PHPは4番目の画像ごとに新しい行を挿入します

分類Dev

複数の配列からMySQLに値を挿入します

分類Dev

Pythonで複数のifステートメントを順番に実行しますか?

分類Dev

複数の行を挿入すると、重複はどうなりますか?

Related 関連記事

  1. 1

    Sqlite3は複数の行を順番に挿入していません

  2. 2

    IDを使用して複数の行を挿入する場合、順序は保証されますか?

  3. 3

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

  4. 4

    複数のスレッドを順番に実行していますか?

  5. 5

    VBAを使用して複数の画像を挿入し、ダイアログボックスで選択した順に挿入する方法はありますか?

  6. 6

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

  7. 7

    複数の行に2番目の自動インクリメントIDを挿入します

  8. 8

    selectから別のテーブルに複数の行を挿入します

  9. 9

    PDOは単一のクエリに複数の行を挿入します

  10. 10

    PostgreSQLはcsvから複数行を挿入します

  11. 11

    クエリの複数行から値を挿入します

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

    挿入内の単一の行から複数の行を選択クエリに挿入します

  17. 17

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

  18. 18

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

  19. 19

    mysql行に複数のIDを挿入します

  20. 20

    条件に基づいて複数の行を挿入します

  21. 21

    配列内の複数の事前定義されたスポットに動的な数値を(順番に)挿入します

  22. 22

    1つの変数入力PL / SQLを使用してdbの複数行に挿入しますか?

  23. 23

    複数の<select>オプションを複数の行に挿入します

  24. 24

    Hbaseは複数のバージョンを挿入順にスキャンします

  25. 25

    MariaDBは、複数のサブクエリを持つ複数の行に「挿入」します

  26. 26

    PHPは4番目の画像ごとに新しい行を挿入します

  27. 27

    複数の配列からMySQLに値を挿入します

  28. 28

    Pythonで複数のifステートメントを順番に実行しますか?

  29. 29

    複数の行を挿入すると、重複はどうなりますか?

ホットタグ

アーカイブ