Hi,

I try to insert a big number of of rows to a table and want to receive the ids 
that were assigned to these (new) rows.
If i insert a single row, it works as expected, but with multiple rows I run 
into an error:
AttributeError: 'DefaultExecutionContext' object has no 
attribute '_inserted_primary_key' .

I use SQLAlchemy 0.6.3-3 (Debian Squeeze) with an sqlite database.

Pseudo code follows.
Is there another obvious way to retrieve the ids?

Enjoy,
--felix


#
# Setup Session etc.
#

data_table = Table('data', metadata,
                   Column('id', Integer, primary_key=True),
                   Column('stuff', String, nullable=False) )

insert_dicts = []
for x in range(10):
    insert_dicts.append(dict(stuff=str(x)))

stmt = data_table.insert(bind=Session.bind)
res = stmt.execute(insert_dicts)

# Correct:
print res.rowcount

print r.inserted_primary_key()
# Raises:
#AttributeError: 'DefaultExecutionContext' object has no 
#attribute '_inserted_primary_key'

# Initial trial with r.last_inserted_ids()
#SADeprecationWarning: Use inserted_primary_key
#Error - <type 'exceptions.AttributeError'>: 'DefaultExecutionContext' object 
#has no attribute '_inserted_primary_key'



-- 
Felix Wolfsteller |  ++49 541 335083-783  |  http://www.intevation.de/
PGP Key: 39DE0100
Intevation GmbH, Neuer Graben 17, 49074 Osnabrück | AG Osnabrück, HR B 18998
Geschäftsführer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner

-- 
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 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to