我想插入多行并使用asyncpg获取ID,我发现了两种方法:1:生成这样的sql
INSERT INTO films (code, title, did, date_prod, kind) VALUES
('B6717', 'Tampopo', 110, '1985-02-10', 'Comedy'),
('HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy')
RETURNING id;
Run Code Online (Sandbox Code Playgroud)
2:在for循环中使用prepared语句
values =(('B6717', 'Tampopo', 110, '1985-02-10', 'Comedy'),
('HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy'))
stmnt = connection.prepare("INSERT INTO films (code, title, did, date_prod, kind) VALUES $1, $2, $3, $4, $5 RETURNING id")
for val in values:
stmnt.fetchval(*val)
Run Code Online (Sandbox Code Playgroud)
哪种方式我必须更喜欢100x次700,000行,或者有一些方法来结合这些方法?我完全是绿色的,所以在我身上扔一些烤肉