Python 为什么insert/update不能处理唯一密钥?

Python 为什么insert/update不能处理唯一密钥?,python,mysql,Python,Mysql,我编写了一个函数来获取列表列表并插入到我的数据库表中,但是,如果有重复的键,其中一列将被更新。我做错了什么 def insert_or_update(self, data): try: self.cursor.executemany('''insert into landing_pages (profile_id, landing_page, keyword_count, unique_key) va

我编写了一个函数来获取列表列表并插入到我的数据库表中,但是,如果有重复的键,其中一列将被更新。我做错了什么

def insert_or_update(self, data):
    try:
        self.cursor.executemany('''insert into landing_pages (profile_id, landing_page, keyword_count, unique_key)
                                    values (%s, %s, %s, %s) on duplicate key update keyword_count =values(keyword_count)''', (data))
        self.db.commit()
        return self.cursor.lastrowid
    except Exception as e:
        self.db.rollback()
        # Rollback in case there is any error
        return e
    finally:
        self.db.close()
更新: 对不起,忘了提到一整天都在工作的实际问题。它似乎没有更新,而是再次插入数据

对于unique键,我实际上创建了一个salted散列,它来自profile\u id和landing\u page列;散列被传递到unique_key列中

我的桌子看起来像这样:

+---------------+---------------+------+-----+---------+----------------+
| Field         | Type          | Null | Key | Default | Extra          |
+---------------+---------------+------+-----+---------+----------------+
| id            | mediumint(9)  | NO   | PRI | NULL    | auto_increment |
| profile_id    | int(11)       | YES  |     | NULL    |                |
| landing_page  | varchar(2083) | YES  |     | NULL    |                |
| keyword_count | int(11)       | YES  |     | NULL    |                |
| unique_key    | varchar(200)  | YES  | UNI | NULL    |                |
+---------------+---------------+------+-----+---------+----------------+
假设关键字_count为int,您能否在查询中更改以下内容:

update keyword_count =values(keyword_count)


我认为你们桌上的问题是不言自明的

你的钥匙是身份证

要插入的值是 配置文件id、登录页面、关键字计数、唯一密钥

所有这些都与您的钥匙不冲突

更新时发现存在唯一密钥:


有什么问题?你得到的错误是什么?还有,这是什么数据库?请分享更多信息:你想实现什么,这段代码如何融入其中,你有什么问题,您使用的依赖项/库是什么?请阅读以下内容:希望它能帮助您解决您的问题,以便能够帮助您。抱歉-我想我需要重新填充咖啡。该值不是1的增量,关键字计数可以是任何数字。但是,我想通过替换itAh来更新该值,上面没有显示,因为我刚刚重新创建了表,但是我有一个独一无二的_key@Adders你是否完全确定有唯一的钥匙,检查小提琴
update keyword_count = <value>