On Jan 16, 2012, at 5:14 PM, Martijn Moeling wrote:

> I am planning on using PG for production but for now I'm stuck on Mysql.
> 
> Mysql does not seem to support Sequence..
> 
> can't I just do x = Column(Integer, autoincreament=True)
> 
> Would that work on both? I cannot test PG just jet.


MySQL's autoincrement feature only works on a single integer primary key column 
and only when INSERT happens.

mysql doesn't have a lot of option here, you can use a sequence table, a table 
with just one row/column that you increment, or the dreaded "select max(n) from 
table" - neither of these work very well in a high concurrency situation.

If you wanted to go crazy, MySQL supports stored procedures, maybe you could 
make a stored procedure that uses the sequence table and acts like a sequence.  
  Maybe there's one on the web somewhere.





> 
> On Jan 16, 2012, at 5:07 PM, Michael B
> 
> ayer wrote:
> 
>> 
>> On Jan 16, 2012, at 6:29 AM, Martijn Moeling wrote:
>> 
>>>> 
>>>> Now I need to import data from the current production system. This data 
>>>> already has Serialnumbers generated.
>>>> 
>>>> What should I do to make this work? Do I need the sequence created after 
>>>> the Import and set the Start value to the last imported SerialNumber+1 ?
>>>> I would prefer creating the sequence before the import and "Update" the 
>>>> Sequence after the import.
>> 
>> you can create the sequence with a start value if you pass "start=X" to 
>> Sequence().   Or you can just bump it up with nextval().  Or PG allows you 
>> to call setval() on it.    You can pretty much set it to anything at at any 
>> time.   http://www.postgresql.org/docs/9.1/static/functions-sequence.html
>> 
>> If you want to have things created before you deal with import data, then 
>> just bump up the sequence as you go through your data.   Assigning to 
>> SerialNr on the Order will have the effect of not using the Sequence on 
>> insert.   Also the create_all() step will create the Sequence construct in 
>> the DB also.
>> 
>> 
>> -- 
>> 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.
>> 
> 
> -- 
> 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.
> 

-- 
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.

Reply via email to