Asyncpg不向查询提供参数

2024-04-19 00:06:15 发布

您现在位置:Python中文网/ 问答频道 /正文

add_domain_query = '''
    DO $$ BEGIN
    IF NOT EXISTS (SELECT * FROM bg_domains WHERE domain = ($1)) THEN
        INSERT INTO bg_domains(domain, date_add, bg_programs_id) VALUES (($1), '%s', %s);
    END IF;
    END $$;
''' % (data['last_updated'], record_program.get('id'))
await con.executemany(add_domain_query, domains)

asyncpg.exceptions._base.InterfaceError: the server expects 0 arguments for this query, 1 was passed
HINT:  Check the query against the passed list of arguments.  Note that parameters are supported only in SELECT, INSERT, UPDATE, DELETE, and VALUES statements, and will *not* work in statements  like CREATE VIEW or DECLARE CURSOR.

在变量域中,像[(str_var,),…]这样的数据,为什么要传递参数

Python 3.8.5
Asyncpg 0.21.0


Tags: theinaddidifdomainqueryselect