Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit206f05a

Browse files
gh-100668: Clarify how sqlite3 maps parameters onto placeholders (#100960)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
1 parent124af17 commit206f05a

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

‎Doc/library/sqlite3.rst‎

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1940,15 +1940,18 @@ close the single quote and inject ``OR TRUE`` to select all rows::
19401940
Instead, use the DB-API's parameter substitution. To insert a variable into a
19411941
query string, use a placeholder in the string, and substitute the actual values
19421942
into the query by providing them as a:class:`tuple` of values to the second
1943-
argument of the cursor's:meth:`~Cursor.execute` method. An SQL statement may
1944-
use one of two kinds of placeholders: question marks (qmark style) or named
1945-
placeholders (named style). For the qmark style, ``parameters`` must be a
1946-
:term:`sequence <sequence>`. For the named style, it can be either a
1947-
:term:`sequence <sequence>` or:class:`dict` instance. The length of the
1948-
:term:`sequence <sequence>` must match the number of placeholders, or a
1949-
:exc:`ProgrammingError` is raised. If a:class:`dict` is given, it must contain
1950-
keys for all named parameters. Any extra items are ignored. Here's an example of
1951-
both styles:
1943+
argument of the cursor's:meth:`~Cursor.execute` method.
1944+
1945+
An SQL statement may use one of two kinds of placeholders:
1946+
question marks (qmark style) or named placeholders (named style).
1947+
For the qmark style, *parameters* must be a
1948+
:term:`sequence` whose length must match the number of placeholders,
1949+
or a:exc:`ProgrammingError` is raised.
1950+
For the named style, *parameters* should be
1951+
an instance of a:class:`dict` (or a subclass),
1952+
which must contain keys for all named parameters;
1953+
any extra items are ignored.
1954+
Here's an example of both styles:
19521955

19531956
..testcode::
19541957

@@ -1975,6 +1978,11 @@ both styles:
19751978

19761979
[('C', 1972)]
19771980

1981+
..note::
1982+
1983+
:pep:`249` numeric placeholders are *not* supported.
1984+
If used, they will be interpreted as named placeholders.
1985+
19781986

19791987
.. _sqlite3-adapters:
19801988

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp