データベースには多くのフィールドがあるため、例えで説明します
詳細情報テーブルのリスト
ユーザーテーブル user にはフィールド番号があります
リストに挿入するメソッドを実行しますデータが生成されるたびに、同時に num+1 がユーザー テーブルに送信されます。
先月、リスト テーブルに登録されているユーザーの数を計算してみました。ユーザーテーブルのnumでそれを行いました。
比較の結果、70人程度のリストデータの数はnumで記録した数よりも10件ほど少ないです。
メソッドは順番に実行されるため、順序は次のようになります。
public function test(){
insert $data;
update num+1;
}
最初にユーザー番号フィールドをリストに挿入し、次にユーザー番号フィールドを更新します
この種のデータの非同期はどのような状況で発生するのかお聞きしたいです。コードを投稿しないでください。
あなた あなたトランザクションを使用する必要があります
$data の挿入または num+1 の更新が失敗した場合に操作を元に戻します
トランザクション処理を使用していますか?挿入が成功したかどうかを判断してフィールドを更新するかどうか
insert $data; 失敗しても実行される update num+1; は矛盾します
トランザクション処理が使用されますか?挿入が成功したかどうかを判断してからフィールドを更新するかどうか
insert $data; 失敗したが、それでも実行された update num+1 は矛盾します
携帯電話番号が重複し、書き込まれた値とフィールドの種類が一致しないと失敗する可能性があります
データベースに書き込む前にユーザー データをフィルタリングする必要があります
モバイル電話番号 重複、書き込まれた値、フィールド タイプの不一致は失敗する可能性があります
データベースに書き込む前にユーザー データをフィルタリングする必要があります