ホームページ  >  記事  >  バックエンド開発  >  PHP タイムスタンプの使用例 code_PHP チュートリアル

PHP タイムスタンプの使用例 code_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:51:311312ブラウズ

私たちは必ずこのような状況に遭遇します。銀行 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 と現在のテーブルのタイムスタンプが比較され、それらが一致する場合、保存が許可され、456789 などの新しいタイムスタンプが生成されます。テーブル内の元のタイムスタンプ 123456。
これによりどのようなメリットが得られますか?

最初の状況を見てみましょう: 銀行 A と銀行 B はほぼ同時にあなたの口座を開設し、あなたの口座に元の 1,000 元の預金があったことを確認しました。同時に、2 つの銀行はその時点でタイムスタンプ 123456 を読み取りました。銀行 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;>
テーブル名を設定フィールド名=$timestamp where 条件=値; : Sunec
原文: Cenus Blog
無断転載を禁じます。転載する場合は、著者、出典、およびこの記述をリンクの形式で表示する必要があります。


http://www.bkjia.com/PHPjc/319129.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/319129.html技術記事私たちは必ずこのような状況に遭遇します。銀行 A と銀行 B がほぼ同時にあなたの口座を開設し、あなたの口座に元の預金が 1,000 元あるのを確認し、その後、両銀行が 5 を追加したいと考えています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。