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 sqlalchemy@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to