ホームページ > php教程 > php手册 > PHPタイムスタンプの使用例コード

PHPタイムスタンプの使用例コード

WBOY
リリース: 2016-06-13 12:28:29
オリジナル
854 人が閲覧しました

私たちは必ずこのような状況に遭遇します。銀行 A と銀行 B がほぼ同時にあなたの口座を開設し、あなたの口座に元の預金が 1,000 元あるのを確認し、その後、両銀行があなたの口座に 500 元の預金を追加したいと考えています。次に、銀行 A が金額を 1,000 元から 1,500 元に変更し、同時に銀行 B も金額を 1,000 元から 1,500 元に変更します。それはダメだ!結局、銀行口座にあるはずの 2,000 元が 1,500 元しか残らないことになり、これは 500 元の損失に相当します。ここで、データをロックせずに変更すると重大な問題が発生します。ただし、この問題はタイムスタンプを使用することでうまく解決できます。

アイデアを見てみましょう:

銀行口座テーブルにタイムスタンプ フィールド timestamp を作成し、それをテキスト型 varchar に設定します。
銀行 A が口座テーブルの預金フィールドを読み取るとき、123456 などのタイムスタンプ フィールドも読み取ります。
銀行 A が預金額を変更して保存操作を実行すると、以前に読み取られたタイムスタンプ 123456 と現在のテーブルのタイムスタンプが比較され、それらが一致する場合、保存が許可され、新しいタイムスタンプが生成されます。テーブル内の元のタイムスタンプ 123456 は 456789 に置き換えられます。
これによりどのようなメリットが得られますか?

冒頭の状況を見てみましょう。銀行 A と銀行 B がほぼ同時にあなたの口座を開設し、あなたの口座に元の預金が 1,000 元あることを確認しました。同時に、2 つの銀行は、銀行 A が 1,000 元を 1,500 元に変更してディスクを保存すると、システムは保存時に前のタイムスタンプ 123456 がテーブル内のタイムスタンプと一致するかどうかを比較します。明らかに、これで一貫性が保たれると、保存が許可され、古いタイムスタンプ 123456 を置き換えるために新しいタイムスタンプ 456789 が生成されます。次に、銀行 B も 1,000 元を 1,500 元に変更して保存しました。システムは、保存時にテーブル内のタイムスタンプと一致するかどうかを確認するために、以前のタイムスタンプ 123456 を比較しました。その結果、以前のタイムスタンプ 123456 が現在のタイムスタンプとは異なることがわかりました。 456789。システムが保存を拒否し、データの更新が必要になります。その後、銀行 A が以前に 500 元を入金したため、1,000 元が 1,500 元になり、銀行 B は 1,500 元を 2,000 元に変更して再度保存します。 . システムがそれを許可します。このようにして、データの繰り返し変更によって引き起こされるエラーを回避します。

ちょっと早口言葉のようなものですが、皆さんに私の言いたいことを理解していただければ幸いです~

最後に、PHP のタイムスタンプのオペレーション コードをいくつか見てみましょう。

タイムスタンプを取得
$timestamp=time();
echo $timestamp;
?> タイムスタンプを更新する SQL ステートメント:
update table name set field name=$timestamp wherecondition=value;
著者: Sunec
原文: Cenus Blog
無断転載を禁じます。転載する場合は、著者、出典、およびこの記述をリンクの形式で表示する必要があります。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート