ページ跨ぎのデータ取得について
大量データをページ指定で複数回に分けて取得しようと考えていますが、取得中にデータが更新された場合、データの取得漏れが発生しないか懸念しております。
例えば、上限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