1
私はこのような何か実行している:それはid
主キーに基づいて更新をやっているので、一列のみを更新することが保証されて実際に更新された列を別の値に変更しますか?
cursor.execute(
'''
UPDATE my_table
SET name=%s, about=%s, title=%s
WHERE id=%s
''',
(name, about, title, id_)
)
を。
はしかし、フィールドの一度だけのほとんど実際変化、すなわちabout
とtitle
は、それらが存在していた同じ値に「更新」されている、とだけname
は、実際に変更されました。
実際に変更された列はどのように取得できますか?これは、個々の変更をすべて記録するために必要です。
に対してロジックを置くことができますので、あなたがリストのようなものを取得したいですタプルの '(row、column_name)'? – yeputons
ええ、しかし、私は「IDの主キーに基づいて更新を行っているので、1行だけを更新することが保証されています」*を追加しました。*ので、個人的には列名のリストを取得するだけで十分です。 –
Returning name、about、タイトルで追加しようとしましたか? Where句の後ろに? – J2112O