首页 > 解决方案 > 我们如何在 postgresql 中使用 INSERT 和 WHERE

问题描述

await self.client.db.execute('INSERT INTO config (watcher_channel) VALUES ($1) WHERE guild_id = $2', channel.id, ctx.guild.id)

我正在使用asyncpg,idk 为什么它给我语法错误。

错误: Command raised an exception: PostgresSyntaxError: syntax error at or near "WHERE"

标签: pythonsqlpostgresqldiscord.py

解决方案


将插入内容改写为INSERT INTO ... SELECT

await self.client.db.execute(
    'INSERT INTO config (watcher_channel) SELECT $1 WHERE guild_id = $2',
    channel.id, ctx.guild.id)

推荐阅读