From 3aff9ba29a7065c754f419a6ded2ad68284c32e0 Mon Sep 17 00:00:00 2001 From: "Erlend E. Aasland" Date: Fri, 28 Apr 2023 10:02:23 +0200 Subject: [PATCH] [3.11] gh-100021: Document that sqlite3's executemany() discards resulting rows (#103939) --- Doc/library/sqlite3.rst | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst index 165bac4c0f707b..4dbbfe21ff66c4 100644 --- a/Doc/library/sqlite3.rst +++ b/Doc/library/sqlite3.rst @@ -1363,12 +1363,12 @@ Cursor objects For every item in *parameters*, repeatedly execute the :ref:`parameterized ` - SQL statement *sql*. + :abbr:`DML (Data Manipulation Language)` SQL statement *sql*. Uses the same implicit transaction handling as :meth:`~Cursor.execute`. :param str sql: - A single SQL :abbr:`DML (Data Manipulation Language)` statement. + A single SQL DML statement. :param parameters: An :term:`!iterable` of parameters to bind with @@ -1391,6 +1391,13 @@ Cursor objects # cur is an sqlite3.Cursor object cur.executemany("INSERT INTO data VALUES(?)", rows) + .. note:: + + Any resulting rows are discarded, + including DML statements with `RETURNING clauses`_. + + .. _RETURNING clauses: https://www.sqlite.org/lang_returning.html + .. method:: executescript(sql_script, /) Execute the SQL statements in *sql_script*.