私は取得したい値をデータベースから取得してから、ユーザーの入力から取得して、以前データベースにあった値の場所。私はこれがあまりにも確かではない準備されたステートメントで行うことができると聞いた。準備された文を使用してmysqlデータベースの値を更新するにはどうすればいいですか?
ありがとうございました。
私は取得したい値をデータベースから取得してから、ユーザーの入力から取得して、以前データベースにあった値の場所。私はこれがあまりにも確かではない準備されたステートメントで行うことができると聞いた。準備された文を使用してmysqlデータベースの値を更新するにはどうすればいいですか?
ありがとうございました。
文が頻繁に再利用される場合、プリペアドステートメントを作成し、各コールの値を更新することにより、SQL文を解析するデータベースの処理時間を避けることができます。変数値のプレースホルダ、およびSQLは、プリペアドステートメントの作成時にのみ解析されます。次のように
stm = conn.prepareStatement("update MyTable set Col1 = Col1 - ? where KeyCol = ?");
は、その後、新しいキー値を持っており、オフセット関連するたびに、あなたはそれらを設定します。
stm.setInteger(1,newOffset); // assign newOffset value to first ?
stm.setInteger(2,keyVal);
stm.execute(); // executes the statement with the specified values
の重複がたくさんあります。 –
を私たちは、あなたのテーブルと属性が何であるかを知っておく必要があります。それは、各ユーザがポイントの一定数を持つテーブルと呼ばれるユーザーのようなものだった場合、あなたは次のようにSQL文を実行することができます:
SELECT points FROM users WHERE username='somename';
次に、あなたの新しいポイントとそのスコアを更新することができ、変数「newpoints」により、このような何かをやって:
UPDATE users SET points = newpoints WHERE username = 'somename';
このサイトは、いくつかの本当に便利なコマンドがあります:http://g2pc1.bu.edu/~qzpeng/manual/MySQL%20Commands.htm
リンクが大いに役立ちます –
はい、それはすることができます。これまでに何を試しましたか? –
ようこそStackOverflowへ。 [ヘルプ]にアクセスし、[ツアー]にアクセスして[質問]を読んでください。あなたの質問は、「私は自分自身でこれを見るにはあまりにも怠惰だし、誰かに私のためにそれを書いてもらうことができるかもしれない」のように読んでいます。試してもうまく動作しない場合は、エラーメッセージや予想外の動作と一緒に行ったことを投稿してください。お手数をおかけします。しかし、まず自分で努力する必要があります。 –
準備されたステートメントの使い方はあまりありません。私はそれをデータベースの価値を読み取ってから値を差し引いて書き直すことで、それを大いに実現しました。私は準備されたステートメントでコードを削減しようとしています。 –