そもそも行が存在するかどうかに基づいて、更新または挿入を照会する簡単な方法を探しています。現在、Python の MySQLdb を使用しようとしています。これがクエリの実行方法です。
self.cursor.execute("""UPDATE `inventory`
SET `quantity` = `quantity`+{1}
WHERE `item_number` = {0}
""".format(item_number,quantity));
これを達成するための 4 つの方法を見てきました。
重複キー。残念ながら、主キーはすでに一意の ID として使用されているため、これを使用することはできません。
交換。上記と同じように、適切に機能するには主キーに依存していると思います。
mysql_affected_rows()
. 通常、行を更新した後にこれを使用して、影響があったかどうかを確認できます。Python の MySQLdb がこの機能をサポートしているとは思えません。もちろん、最後の努力: SELECT クエリを作成し、fetchall を実行してから、結果に基づいて更新または挿入します。基本的に、クエリを最小限に抑えようとしているだけなので、1 つではなく 2 つのクエリは今のところ理想的ではありません。
基本的に、オプション 4 を使用する前に、これを達成する他の方法を見逃していないかどうか疑問に思っています。お時間をいただきありがとうございます。