J'ai besoin de créer des centaines de tables. Les noms des tables sont : abc_1, abc_2, abc_3...
J'avais l'habitude d'exécuter pour les créer auparavant, mais je pensais que c'était un peu lent, alors maintenant je me suis demandé si je pouvais utiliserexemany , puis j'ai découvert queexecutemany enfermerait les paramètres entre guillemets simples
>>cur.execute('''create table %s (id int(10));''',('abc_1',))
create table 'abc_1' ( #单引号抛出异常
>>cur.execute('''create table `%s` (id int(10));''',('abc_1',))
create table `'abc_'` ( #创建成功,但创建的表名多出两个单引号
Mais notre bibliothèque n'autorise pas les noms de tables ou de champs à mettre entre guillemets simples, ce qui entraîne une erreur directe.
Essayez de supprimer les symboles avant et après %s dans votre relevé
create table
%s(id int(10));
.