ホームページ > データベース > mysql チュートリアル > MySQL UPDATE クエリで値を正しくインクリメントするにはどうすればよいですか?

MySQL UPDATE クエリで値を正しくインクリメントするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-26 05:22:14
オリジナル
376 人が閲覧しました

How to Correctly Increment a Value in a MySQL UPDATE Query?

MySQL 更新クエリの値の増加

MySQL 更新クエリの値を増加しようとしたときに問題が発生しました。コード:

mysql_query("
    UPDATE member_profile 
    SET points= '" . $points . "' + 1 
    WHERE user_id = '" . $userid . "'
");
ログイン後にコピー

は期待どおりにポイント列を増加させません。代わりに、値を 1 にリセットします。

解決策

MySQL 更新クエリで値をインクリメントする正しい方法は、データベース内の既存の値を単純にインクリメントすることです。 。修正されたコードは次のとおりです。

$sql = "UPDATE member_profile SET points = points + 1 WHERE user_id = ?";
$db->prepare($sql)->execute([$userid]);
ログイン後にコピー

このコードは、SQL クエリをより安全で効率的に実行する方法であるプリペアド ステートメントを使用します。指定された user_id のポイント列が 1 ずつ増加します。

追加の考慮事項

  • セキュリティとパフォーマンスを向上させるために、準備されたステートメントを使用します。
  • 算術演算を可能にするために、ポイント列が数値であることを確認してください。
  • ハンドル予期しない結果を防ぐためにコード内のエラーと例外を修正します。

以上がMySQL UPDATE クエリで値を正しくインクリメントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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