如果SQLAlchemy尝试使用基于UUID的PK创建行,并且该PK已经存在,会发生什么?

时间:2014-10-08 07:55:31

标签: sqlalchemy

如果我使用以下代码......

import uuid
Column(Text(), default=lambda: uuid.uuid4().hex[:6], primary_key=True)

...并且正在创建的新行恰好具有与现有UUID相同的6位UUID,会发生什么?有没有办法抓住它并且去创建另一个UUID?

1 个答案:

答案 0 :(得分:0)

最有可能引发IntegrityError例外。您可以使用do_execute事件执行try-except块或做一些技巧,但最简单的方法是将服务器端的UUID生成设置为列默认值。