Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查数据库值是否已经存在_Python_Mysql_Discord_Discord.py - Fatal编程技术网

Python 如何检查数据库值是否已经存在

Python 如何检查数据库值是否已经存在,python,mysql,discord,discord.py,Python,Mysql,Discord,Discord.py,我正在创建一个discord bot,它计算用户发送的消息量,我在开始时,我想检查用户id和帮会id是否已经插入,因为当我运行和发送消息时,它只是复制了相同的帮会id和用户id。 我怎样才能解决这个问题 这是我的代码: @client.event async def on_message(message): sql = ("INSERT INTO citizens (guild_id, user_id) VALUES (%s, %s)") val = (message.guild

我正在创建一个discord bot,它计算用户发送的消息量,我在开始时,我想检查用户id和帮会id是否已经插入,因为当我运行和发送消息时,它只是复制了相同的帮会id和用户id。 我怎样才能解决这个问题

这是我的代码:

@client.event
async def on_message(message):
    sql = ("INSERT INTO citizens (guild_id, user_id) VALUES (%s, %s)")
    val = (message.guild.id, message.author.id)
    mycursor.execute(sql, val)

    mydb.commit()

如果值已经存在,您可以从数据库中的查询检查开始,然后执行现有值的更新。

您可以对
帮会id、用户id
具有唯一约束,并在
mycursor.execute(sql,val)
上添加try catch