Python MySQL Update ステートメントのエラーを修正するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-09 14:32:02
オリジナル
760 人が閲覧しました

How to Correct Errors in Python MySQL Update Statements?

Python MySQL Update ステートメントのエラーを修正する

Python を使用して MySQL データベース内のデータを更新する場合、その構文が正しいことを確認することが重要です。 UPDATE ステートメント。変数を含む次のステートメントを考えてみましょう:

cursor.execute ("UPDATE tblTableName SET Year=%s" % Year ", Month=%s" % Month ", Day=%s" % Day ", Hour=%s" % Hour ", Minute=%s" Minute "WHERE Server=%s " % ServerID)
ログイン後にコピー

このステートメントには、不正確な更新につながる可能性のあるいくつかのエラーが含まれています。正しいアプローチは次のとおりです:

cursor.execute ("""
   UPDATE tblTableName
   SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s
   WHERE Server=%s
""", (Year, Month, Day, Hour, Minute, ServerID))
ログイン後にコピー

この改訂されたステートメントでは:

  • プレースホルダー値 (%s) はタプルの一部として SQL クエリに含まれます。このアプローチにより、SQL インジェクションの脆弱性が防止されます。
  • SQL 構文は、1 つのステートメントで複数の列を更新するための正しい規則に従います。

あるいは、更新コマンドの基本的な文字列操作を次のように使用できます。

cursor.execute ("UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server='%s' " % (Year, Month, Day, Hour, Minute, ServerID))
ログイン後にコピー

ただし、コードが SQL インジェクションに対して脆弱になるため、この方法は推奨されません。

さまざまなデータベース バックエンド間での文字列置換規則に関する潜在的な問題を排除するには、最初のアプローチを使用することをお勧めします。

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

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