ホームページ >バックエンド開発 >PHPチュートリアル >Mysql スレッド関連の問題は英雄たちに聞いてください。それをサポートする人には報酬が与えられます
Mysql スレッドの問題です。賛成票を投じた人には報酬が与えられます!
select number fromnumbertable wherenumber=
(
SELECT sum(todayhit) as todayhit FROM hittabel
)
すべてのネチズンのクリック数の合計 (todayhit) が (事前に設定された) 数値テーブルの数と一致した場合、そのネチズンに賞品が与えられます。このステートメントは、多くの人が同時に [はい] をクリックすると番号が空になり、設定した当選番号が見逃されるということです。個人的には、この問題は多数の人が同時にクリックした場合にのみ発生すると思います。これは MYSQL スレッドの問題です。誰かが私の操作で当選番号を逃さないようにするために、データベースは必要ありません。
- -----解決策----------
分かりましたか?
------解決策---------
空の数字の問題は発生しますか?
------解決策----------------------
jf~~ 次のマニュアルを参照してください。 、かなり詳しいです。
これはおおよそのケースです (参考までに、具体的なマニュアルをググってください)
テーブルが存在するデータベースに移動します
mysql> delimiter //
mysql> createprocedure test(out p int;) )
mysql> begin
mysql> SELECT @a:=sum(todayhit) FROM hittabel;
mysql> wherenumber=@a
mysql> end;//
mysql> デリミタ;
使用法:
mysql> select @num;
------解決策-----
テーブルをロックするという解決策があります。 。 今ではマニュアルを読む人が少なすぎるようです。 MySQL ライブラリには多くの種類がありますが、その中には独自に保守するロック テーブルとロック ライブラリがいくつかあります。少しマニュアルを読んでください。
あまり使わないので具体的な内容は忘れてしまいました。ごめんなさい~
------解決策----------------------
MYSQL ストアド プロシージャは推奨されません 未熟です。 ..
------解決策------------------
ロールバック
------解決策---------
いいね
------解決策---------
トランザクション
------解決策----------------------
基本的にストアドプロシージャは使いません
------解決策---------
この問題を別の角度から考えてみましょう... または、システム アーキテクチャの設計の問題です。