0
テーブルから行を選択し、選択した行の列をインクリメントしながらPHPでの処理ストアドプロシージャ:選択した行をテーブルから戻し、選択したテーブル行の列を増やす方法
私は例えば出力select文の結果を、したいのですが...
SELECT * FROM TBL WHERE = '他の' 何か。
この表には一意の「id」列があります。
同じ手順で、選択したテーブル行の列を増分したいと思います。
これは可能ですか?
ありがとう、
インクリメントされた値は、返されるデータまでは関係しません。したがって、前または後である可能性があります。しかし、私は行の複数の列の値が返されることを望むでしょう。ありがとう。 – christian
それに似た何かの代わりにそれをすることに利点がありますか? SET @id = 0; SELECT(@ id:= id)AS id、tbl.another FROM tbl WHERE something = 'else'; UPDATE tbl SET num = num + 1 WHERE id = @id; – christian
@christian - 1つの利点は、ストアドプロシージャの呼び出しがサーバーとの1つの対話であることです。ストアドプロシージャは、ロックおよび/またはトランザクション処理を組み込んで、データの整合性を向上させることもできます。ストアドプロシージャの欠点は、サーバーに多少の負荷がかかり、(おそらくそれだけでも)一部のISPがMySQLのストアドプロシージャを無効にするということです。 –