我是 python 新手,我刚开始使用 Storm 和 python 作为基本的 ORM。
我在一个文件中有很多数据并且有一些重复,为了识别它们,您可以看到一些行的 id 重复。
我想将它们插入到我的数据库中,我确实将 id 设置为主键,所以它不能有重复项。如果它是重复的,我希望我的代码忽略在表中插入数据。但相反,它只是失败了_mysql_exceptions.IntegrityError: (1062, "Duplicate entry '75083587476530022' for key 'PRIMARY'")
这是我班级的定义
from storm.locals import *
class Board(object):
__storm_table__ = 'boards'
id = Int(primary=True)
description = Unicode()
category = Unicode()
def __init__(self, val):
self.id = val['id']
self.description = val['description']
self.category = val['category']
并创建一行我做:
database = create_database('mysql://root@/mydb')
store = Store(database)
data = {u'description': u'', u'id': 165366686256470180, u'category': u'Children'}
store.add(Board(data))
store.commit()
store.flush()
我也知道在 MYSQL 中我可以做什么
ON DUPLICATE KEY UPDATE o
知道如何让 Storm 使用它吗?