で
ありがとうございますので、私はあなたがDB-API対応のコネクタ(のpython-のMySQLやMySQLコネクタ - のpythonなど)でMySQLを使用していると仮定しphpMyAdminのを言及。
最初のポイント:あなたはすなわち、明示的に変更をコミットする必要があります。もちろん
connection = YourConnector.connect(**connection_info)
cursor = connection.cursor()
update_query = """
UPDATE air_programmes
SET total_count = total_count + 1
WHERE id='%s'
""" % resource_id
cursor.execute(update_query)
connection.commit()
あなたはアップデートのバッチ全体を持っている場合は、バッチ全体に対して一度だけコミットすることをお勧めします。
第2のポイント:クエリ引数を渡すPython文字列フォーマットを使用すると、脆くなり、very unsafeです。あなたが本当にあなたのクエリののparamsの適切な消毒の世話をするために、DB-APIを使用したい:
connection = YourConnector.connect(**connection_info)
cursor = connection.cursor()
update_query = """
UPDATE air_programmes
SET total_count = total_count + 1
WHERE id='%s'
"""
cursor.execute(update_query, [resource_id]))
connection.commit()
一部のデータベースでは、 'update'後' commit'を発行する必要があります。 –
そのIDを持つ行はありますか? – jarlh
phpMyadminでこのクエリを実行すると、その特定の列の変更が表示されますが、プログラムで実行すると更新が行われません。 – abhishek