just use try/except
from sqlalchemy import exceptions
try:
engine.execute(mytable.insert(), **kwargs)
except exceptions.IntegrityError, e:
print "Error !", e, "well, I guess we'll ignore it."
engine.execute(some_other_insert_statement ... )
On May 6, 2008, at 10:06 AM, Alexis B wrote:
>
> Hi to all,
>
> This may be a newbie question but I just can't find the answer. I have
> to make multiple submissions to a postgresql table and I want to use
> python. I found everything to execute my insert commands, the problem
> is that I have to repeat it regularly, and I expected not to check
> which record have already inserted thanks to the primary key ( which
> is a couple if integer I set ).
> So when it tries to insert again some records, it doesn't insert it,
> as expected, but it raises an error which interrupt the script :
>
> **************************************************
> Traceback (most recent call last):
> File "./script.py", line 44, in <module>
> connection.execute(line)
> File " . . ./python-2.5.1/lib/python2.5/site-packages/
> SQLAlchemy-0.4.5-py2.5.egg/sqlalchemy/engine/base.py", line 844, in
> execute
> return Connection.executors[c](self, object, multiparams, params)
> File ". . ./python-2.5.1/lib/python2.5/site-packages/
> SQLAlchemy-0.4.5-py2.5.egg/sqlalchemy/engine/base.py", line 854, in
> _execute_text
> self.__execute_raw(context)
> File ". . ./python-2.5.1/lib/python2.5/site-packages/
> SQLAlchemy-0.4.5-py2.5.egg/sqlalchemy/engine/base.py", line 916, in
> __execute_raw
> self._cursor_execute(context.cursor, context.statement,
> context.parameters[0], context=context)
> File ". . ./python-2.5.1/lib/python2.5/site-packages/
> SQLAlchemy-0.4.5-py2.5.egg/sqlalchemy/engine/base.py", line 960, in
> _cursor_execute
> self._handle_dbapi_exception(e, statement, parameters, cursor)
> File ". . ./python-2.5.1/lib/python2.5/site-packages/
> SQLAlchemy-0.4.5-py2.5.egg/sqlalchemy/engine/base.py", line 942, in
> _handle_dbapi_exception
> raise exceptions.DBAPIError.instance(statement, parameters, e,
> connection_invalidated=is_disconnect)
> sqlalchemy.exceptions.IntegrityError: (IntegrityError) duplicate key
> violates unique constraint "my_primarykey"
> "INSERT INTO . . . )" {}
> **************************************************
>
> So I just wanted to know if there was an option to ignore the error ,
> which possibly raise it, but don't interrupt the script.
>
> Thanks
>
> >
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---