MySQL で Python を使用して INSERT 後に主キーを取得する
Python を使用して MySQL データベースで INSERT INTO ステートメントを実行する場合、多くの場合、次のことが必要になります。新しく作成されたレコードの主キー (通常は自動インクリメントされる) を取得します。これを実現する方法は次のとおりです。
方法 1:cursor.lastrowid を使用する
insert ステートメントの実行後、カーソル オブジェクトは最後に挿入された行への参照を保持します。 cursor.lastrowid 属性を使用して、自動生成された主キー値を取得できます。
import mysql.connector connection = mysql.connector.connect(...) cursor = connection.cursor() height = 100 cursor.execute("INSERT INTO mytable(height) VALUES(%s)", (height,)) connection.commit() new_id = cursor.lastrowid cursor.close() connection.close()
方法 2: connection.insert_id() を使用する
一部のデータベースコネクタは、接続オブジェクトに対して insert_id() メソッドを提供します。このメソッドは、その特定の接続に挿入された最後に自動生成された ID を返します:
import mysql.connector connection = mysql.connector.connect(...) cursor = connection.cursor() height = 100 cursor.execute("INSERT INTO mytable(height) VALUES(%s)", (height,)) connection.commit() new_id = connection.insert_id() cursor.close() connection.close()
以上がPython を使用して INSERT 後に MySQL の自動インクリメントされた主キーを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。