Python を使用して MySQL で INSERT ステートメントの後に自動生成されたキーを取得する
Python を使用して MySQL データベースで INSERT 操作を実行する場合、多くの場合、新しく挿入された行の主キーまたは自動生成された ID を取得することが必要になります。これは、後続の操作で挿入された行を参照したり、行の一意性を維持したりする場合に役立ちます。
cursor.lastrowid の使用
Python MySQL コネクタはカーソルを提供しますこのオブジェクトを初期化すると、SQL ステートメントを実行し、結果のデータを取得するために使用できます。 INSERT ステートメントの実行後、cursor.lastrowid 属性には、新しく挿入された行の主キーまたは自動生成された ID が含まれます。
たとえば、次のコードを考えてみましょう。
import mysql.connector conn = mysql.connector.connect(...) cursor = conn.cursor() cursor.execute("INSERT INTO mytable(height) VALUES(%s)", (height)) inserted_id = cursor.lastrowid
このコードでは、lastrowid 属性が取得され、insert_id 変数に保存されます。この ID は、新しく挿入された行の主キーを表します。
connection.insert_id() を使用する
または、接続オブジェクト自体が ID を返す insert_id 属性を提供します。接続を通じて挿入された最後の行。この属性は、カーソルが閉じられた後でも使用できます。
次のコードは、connection.insert_id() の使用方法を示しています。
import mysql.connector conn = mysql.connector.connect(...) cursor = conn.cursor() cursor.execute("INSERT INTO mytable(height) VALUES(%s)", (height)) inserted_id = conn.insert_id()
使用されるメソッドに関係なく、取得された insert_id またはlastrowid は、データベースに新しく挿入された行を識別するために利用できます。
以上がPython を使用して MySQL で INSERT 後に自動生成されたキーを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。