スマレジ・デベロッパーズ・コミュニティはアーカイブされました。


これまでに投稿いただいた内容は引き続きご覧いただけます。

今後のお問い合わせはこちら

ページ跨ぎのデータ取得について

大量データをページ指定で複数回に分けて取得しようと考えていますが、取得中にデータが更新された場合、データの取得漏れが発生しないか懸念しております。

例えば、上限1,000件でIDでソートした状態で、ページ=1,2,3,・・・と取得したい場合について質問です。

<データが追加される場合>

IDでソートしておけば、追加されたデータは後ろに並ぶので、

取得中に追加されたデータも取得漏れにはならないと考えてよいでしょうか。

<データが削除される場合>

例えば、ページ=3ではID=2,001~3,000を取得されると思いますが、この直前にID=1が削除されたらどうなりますか?

1件ずつずれて、先頭から2,001~3,000件目に該当するのはID=2,002~3,001になるかと思いますが、

この場合、ID=2,001が欠けてしまいますか?

ご確認をよろしくお願いいたします。

答え

  • @CBC井上

    取得したいのはどのようなデータでしょうか。(取引、商品、会員、入荷など)


    <データが追加される場合>

    管理画面からデータを追加する場合、IDは現在登録されているデータ+1として登録されます。

    したがってご認識の通り、IDでソートをかけていただくことで取得ができます。

    ただし、商品、会員はCSVを使うことでIDを指定し登録ができるので、

    データ取得中にCSVで情報更新しないようにご案内いただければと思います。


    参考:CSVで商品を一括登録する

    https://help.smaregi.jp/hc/ja/articles/203854898

    <データが削除される場合>

    商品、会員:削除するとIDが欠けて取得されます。

    入荷:削除ができません。

    取引:取引は『取引の削除』を行わず、『取引のキャンセル』で処理することがほとんどです。


    『取引のキャンセル』を行った場合、取引IDは欠けず該当取引IDが取消済ステータスになるか、

    別の取引IDで返品取消の履歴が立ちます。

    ただし『取引の削除』(取引の一括削除)を行うと、該当のIDが削除されてしまうため、

    該当のIDが欠けて取得されます。


    取引をキャンセルする

    https://help.smaregi.jp/hc/ja/articles/202423816

    情報を一括削除する

    https://help.smaregi.jp/hc/ja/articles/360053990133