class Insert(StandardInsert): (source)
MySQL-specific implementation of INSERT. Adds methods for MySQL-specific syntaxes such as ON DUPLICATE KEY UPDATE. The :class:`~.mysql.Insert` object is created using the :func:`sqlalchemy.dialects.mysql.insert` function. .. versionadded:: 1.2
Method | on |
Specifies the ON DUPLICATE KEY UPDATE clause. |
Class Variable | inherit |
Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass. |
Class Variable | stringify |
Undocumented |
Property | inserted |
Provide the "inserted" namespace for an ON DUPLICATE KEY UPDATE statement |
Property | inserted |
Undocumented |
Instance Variable | _post |
used by extensions to Insert etc. to add additional syntacitcal constructs, e.g. ON CONFLICT etc. |
Inherited from Insert
:
Method | __init__ |
Undocumented |
Method | from |
Return a new :class:`_expression.Insert` construct which represents an ``INSERT...FROM SELECT`` statement. |
Method | inline |
Make this :class:`_expression.Insert` construct "inline" . |
Method | returning |
Add a :term:`RETURNING` or equivalent clause to this statement. |
Class Variable | __visit |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | table |
Undocumented |
Instance Variable | include |
Undocumented |
Instance Variable | select |
SELECT statement for INSERT .. FROM SELECT |
Class Variable | _supports |
Undocumented |
Class Variable | _traverse |
Undocumented |
Instance Variable | _inline |
Undocumented |
Instance Variable | _select |
Undocumented |
Inherited from ValuesBase
(via Insert
):
Method | values |
Specify a fixed VALUES clause for an INSERT statement, or the SET clause for an UPDATE. |
Class Variable | _multi |
Undocumented |
Class Variable | _ordered |
Undocumented |
Instance Variable | _values |
Undocumented |
Inherited from UpdateBase
(via Insert
, ValuesBase
):
Method | corresponding |
Undocumented |
Method | params |
Set the parameters for the statement. |
Method | return |
Make use of a :term:`RETURNING` clause for the purpose of fetching server-side expressions and defaults, for supporting backends only. |
Method | with |
Add dialect options to this INSERT/UPDATE/DELETE object. |
Method | with |
Add a table hint for a single table to this INSERT/UPDATE/DELETE statement. |
Class Variable | is |
Undocumented |
Class Variable | named |
Undocumented |
Property | entity |
Return a :term:`plugin-enabled` description of the table and/or entity which this DML construct is operating against. |
Property | exported |
Return the RETURNING columns as a column collection for this statement. |
Property | returning |
Return a :term:`plugin-enabled` description of the columns which this DML construct is RETURNING against, in other words the expressions established as part of :meth:`.UpdateBase.returning`. |
Method | _generate |
Populate columns into an :class:`.AliasedReturnsRows` object. |
Class Variable | _returning |
Undocumented |
Instance Variable | _hints |
Undocumented |
Instance Variable | _return |
Undocumented |
Instance Variable | _return |
Undocumented |
Instance Variable | _supplemental |
Undocumented |
Property | _all |
A sequence of column expression objects that represents the "selected" columns of this :class:`_expression.ReturnsRows`. |
Inherited from DMLRole
(via Insert
, ValuesBase
, UpdateBase
):
Class Variable | __slots__ |
Undocumented |
Inherited from HasCTE
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
):
Method | add |
Add one or more :class:`_sql.CTE` constructs to this statement. |
Method | cte |
Return a new :class:`_expression.CTE`, or Common Table Expression instance. |
Class Variable | _has |
Undocumented |
Class Variable | _independent |
Undocumented |
Class Variable | _independent |
Undocumented |
Inherited from SelectsRows
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
):
Method | _generate |
Generate column names as rendered in a SELECT statement by the compiler. |
Inherited from HasCompileState
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
):
Class Variable | _compile |
Undocumented |
Inherited from DialectKWArgs
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
):
Class Method | argument |
Add a new kind of dialect-specific keyword argument for this class. |
Property | dialect |
A collection of keyword arguments specified as dialect-specific options to this construct. |
Property | dialect |
A collection of keyword arguments specified as dialect-specific options to this construct. |
Property | kwargs |
A synonym for :attr:`.DialectKWArgs.dialect_kwargs`. |
Method | _kw |
Undocumented |
Method | _validate |
Undocumented |
Class Variable | _dialect |
Undocumented |
Class Variable | _kw |
Undocumented |
Inherited from HasPrefixes
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
):
Method | prefix |
Add one or more expressions following the statement keyword, i.e. SELECT, INSERT, UPDATE, or DELETE. Generative. |
Class Variable | _has |
Undocumented |
Instance Variable | _prefixes |
Undocumented |
Inherited from Generative
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
):
Method | _generate |
Undocumented |
Inherited from Executable
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
):
Method | execution |
Set non-SQL options for the statement which take effect during execution. |
Method | get |
Get the non-SQL options which will take effect during execution. |
Method | options |
Apply options to this statement. |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | supports |
Undocumented |
Method | _add |
Add a context option to this statement. |
Method | _compile |
Undocumented |
Method | _execute |
Undocumented |
Method | _execute |
Undocumented |
Method | _set |
Assign the compile options to a new value. |
Method | _update |
update the _compile_options with new keys. |
Class Variable | _executable |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _with |
Undocumented |
Class Variable | _with |
Undocumented |
Instance Variable | _compile |
Undocumented |
Instance Variable | _execution |
Undocumented |
Property | _effective |
Undocumented |
Inherited from StatementRole
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
):
Class Variable | _role |
Undocumented |
Property | _propagate |
Undocumented |
Inherited from ReturnsRows
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
):
Method | is |
Return ``True`` if this :class:`.ReturnsRows` is 'derived' from the given :class:`.FromClause`. |
Property | selectable |
Undocumented |
Method | _refresh |
reset internal collections for an incoming column being added. |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Inherited from SQLRole
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
):
Class Variable | allows |
Undocumented |
Class Variable | uses |
Undocumented |
Inherited from DQLDMLClauseElement
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
):
Method | compile |
Compile this SQL expression. |
Method | _compiler |
Return a compiler appropriate for this ClauseElement, given a Dialect. |
Inherited from ClauseElement
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
):
Method | __bool__ |
Undocumented |
Method | __getstate__ |
Undocumented |
Method | __invert__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | compare |
Compare this :class:`_expression.ClauseElement` to the given :class:`_expression.ClauseElement`. |
Method | get |
Return immediate child :class:`.visitors.HasTraverseInternals` elements of this :class:`.visitors.HasTraverseInternals`. |
Method | self |
Apply a 'grouping' to this :class:`_expression.ClauseElement`. |
Method | unique |
Return a copy with :func:`_expression.bindparam` elements replaced. |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | negation |
Undocumented |
Property | description |
Undocumented |
Property | entity |
Undocumented |
Method | _clone |
Create a shallow copy of this ClauseElement. |
Method | _cloned |
Return the set consisting all cloned ancestors of this ClauseElement. |
Method | _negate |
Undocumented |
Method | _negate |
a hook to allow the right side of a binary expression to respond to a negation of the binary expression. |
Method | _replace |
Undocumented |
Method | _set |
Undocumented |
Method | _ungroup |
Return this :class:`_expression.ClauseElement` without any groupings. |
Method | _with |
in the context of binary expression, convert the type of this object to the one given. |
Class Variable | _cache |
Undocumented |
Class Variable | _gen |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Class Variable | _is |
Undocumented |
Property | _constructor |
return the 'constructor' for this ClauseElement. |
Property | _from |
Undocumented |
Property | _order |
Undocumented |
Inherited from SupportsWrappingAnnotations
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
):
Method | _annotate |
return a copy of this ClauseElement with annotations updated by the given dictionary. |
Method | _deannotate |
return a copy of this :class:`_expression.ClauseElement` with annotations removed. |
Method | _with |
return a copy of this ClauseElement with annotations replaced by the given dictionary. |
Inherited from SupportsAnnotations
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
):
Class Variable | proxy |
Undocumented |
Method | _gen |
Undocumented |
Property | _annotations |
Undocumented |
Inherited from MemoizedHasCacheKey
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
):
Method | _generate |
return a cache key. |
Inherited from HasCacheKey
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
):
Class Method | _generate |
generate cache key dispatcher for a new class. |
Class Method | _generate |
Undocumented |
Method | _gen |
return an optional cache key. |
Class Variable | _generated |
Undocumented |
Class Variable | _hierarchy |
private attribute which may be set to False to prevent the inherit_cache warning from being emitted for a hierarchy of subclasses. |
Class Variable | _is |
Undocumented |
Inherited from HasCopyInternals
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
):
Method | _copy |
Reassign internal elements to be clones of themselves. |
Inherited from CompilerElement
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
, HasCopyInternals
, ExternallyTraversible
, HasTraverseInternals
):
Method | __str__ |
Undocumented |
Inherited from Visitable
(via Insert
, ValuesBase
, UpdateBase
, DMLRole
, HasCTE
, HasCTERole
, SelectsRows
, HasCompileState
, DialectKWArgs
, HasPrefixes
, Generative
, ExecutableReturnsRows
, Executable
, StatementRole
, ReturnsRows
, ReturnsRowsRole
, SQLRole
, DQLDMLClauseElement
, ClauseElement
, SupportsWrappingAnnotations
, SupportsAnnotations
, MemoizedHasCacheKey
, HasCacheKey
, HasCopyInternals
, ExternallyTraversible
, HasTraverseInternals
, CompilerElement
):
Method | __class |
Undocumented |
Method | __init |
Undocumented |
Class Method | _generate |
Undocumented |
Method | _compiler |
Undocumented |
Class Variable | _original |
Undocumented |
@_exclusive_against(
def on_duplicate_key_update(self, *args, **kw) ->
Self
:
(source)
¶
Specifies the ON DUPLICATE KEY UPDATE clause. :param \**kw: Column keys linked to UPDATE values. The values may be any SQL expression or supported literal Python values. .. warning:: This dictionary does **not** take into account Python-specified default UPDATE values or generation functions, e.g. those specified using :paramref:`_schema.Column.onupdate`. These values will not be exercised for an ON DUPLICATE KEY UPDATE style of UPDATE, unless values are manually specified here. :param \*args: As an alternative to passing key/value parameters, a dictionary or list of 2-tuples can be passed as a single positional argument. Passing a single dictionary is equivalent to the keyword argument form:: insert().on_duplicate_key_update({"name": "some name"}) Passing a list of 2-tuples indicates that the parameter assignments in the UPDATE clause should be ordered as sent, in a manner similar to that described for the :class:`_expression.Update` construct overall in :ref:`tutorial_parameter_ordered_updates`:: insert().on_duplicate_key_update( [("name", "some name"), ("value", "some value")]) .. versionchanged:: 1.3 parameters can be specified as a dictionary or list of 2-tuples; the latter form provides for parameter ordering. .. versionadded:: 1.2 .. seealso:: :ref:`mysql_insert_on_duplicate_key_update`
Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass. The attribute defaults to ``None``, which indicates that a construct has not yet taken into account whether or not its appropriate for it to participate in caching; this is functionally equivalent to setting the value to ``False``, except that a warning is also emitted. This flag can be set to ``True`` on a particular class, if the SQL that corresponds to the object does not change based on attributes which are local to this class, and not its superclass. .. seealso:: :ref:`compilerext_caching` - General guideslines for setting the :attr:`.HasCacheKey.inherit_cache` attribute for third-party or user defined SQL constructs.
Provide the "inserted" namespace for an ON DUPLICATE KEY UPDATE statement MySQL's ON DUPLICATE KEY UPDATE clause allows reference to the row that would be inserted, via a special function called ``VALUES()``. This attribute provides all columns in this row to be referenceable such that they will render within a ``VALUES()`` function inside the ON DUPLICATE KEY UPDATE clause. The attribute is named ``.inserted`` so as not to conflict with the existing :meth:`_expression.Insert.values` method. .. tip:: The :attr:`_mysql.Insert.inserted` attribute is an instance of :class:`_expression.ColumnCollection`, which provides an interface the same as that of the :attr:`_schema.Table.c` collection described at :ref:`metadata_tables_and_columns`. With this collection, ordinary names are accessible like attributes (e.g. ``stmt.inserted.some_column``), but special names and dictionary method names should be accessed using indexed access, such as ``stmt.inserted["column name"]`` or ``stmt.inserted["values"]``. See the docstring for :class:`_expression.ColumnCollection` for further examples. .. seealso:: :ref:`mysql_insert_on_duplicate_key_update` - example of how to use :attr:`_expression.Insert.inserted`