Ich muss Hunderte von Tabellen erstellen. Die Tabellennamen lauten: abc_1, abc_2, abc_3...
Ich habe sie zuvor mit „execute“ erstellt, fand es aber etwas langsam, also habe ich jetzt darüber nachgedacht, ob ich „executemany“ verwenden könnte , und dann stellte ich fest, dass „executemany“ die Parameter in einfache Anführungszeichen setzen würde
>>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_'` ( #创建成功,但创建的表名多出两个单引号
Aber unsere Bibliothek erlaubt es nicht, Tabellennamen oder Feldnamen in einfache Anführungszeichen zu setzen, was zu einem direkten Fehler führt.
你把你语句
create table
%s(id int(10));
中%s前后的符号去掉试试。