Pythonのsqlite3のメソッド lastrowid
Pythonのsqlite3モジュールのlastrowid属性は、直前のINSERTクエリによって挿入された行の中で最後に挿入された行の行ID(自動増分キーの値)を取得するために使用されます。
lastrowid属性はカーソルオブジェクトに関連付けられており、INSERT文を実行した後にその属性を使用して最後に挿入された行の行IDを取得できます。ただし、lastrowid属性はSQLiteデータベースのテーブルに自動増分キー(通常はINTEGER PRIMARY KEY)が存在する場合にのみ有効です。自動増分キーがないテーブルでは、lastrowid属性は0を返します。
以下は、lastrowid属性の基本的な使用法の例です:
python
import sqlite3
# SQLiteデータベースに接続
connection = sqlite3.connect('mydatabase.db')
# カーソルを取得
cursor = connection.cursor()
# テーブルを作成
cursor.execute("CREATE TABLE IF NOT EXISTS mytable (id INTEGER PRIMARY KEY, name TEXT)")
# データを挿入
cursor.execute("INSERT INTO mytable (name) VALUES (?)", ("John Doe",))
# 最後に挿入された行の行IDを取得
last_inserted_id = cursor.lastrowid
# カーソルを閉じる
cursor.close()
# データベース接続をコミット
connection.commit()
# データベース接続を閉じる
connection.close()
# 最後に挿入された行の行IDを表示
print(f"Last inserted row ID: {last_inserted_id}")
この例では、INSERTクエリを実行して新しい行を挿入し、lastrowid属性を使用して最後に挿入された行の行IDを取得しています。行IDは通常、自動増分キーを持つテーブルでのみ使用されます。
lastrowid属性は、新しい行の行IDを取得する際に非常に便利であり、データベース内で一意の識別子を使用する場合に役立ちます。

ディスカッション
コメント一覧
まだ、コメントがありません