-1

動的挿入ステートメント (100 個を超える挿入) を連結しようとしていて、1 つずつ実行する代わりに、すべてのステートメントを 1 つの変数だけに連結したいと考えています。

次に、基本的な例を示します。

insert_ = " insert into table ( field,zone) values ('a','b'); "
insert_b = " insert into table ( field,zone) values ('c','d'); "
insert_c = " insert into table ( field,zone) values ('e','f'); "

list = []
list.append(insert_)
list.append(insert_b)
list.append(insert_c)
print list

現在の出力:

[" insert into table ( field,zone) values ('a','b'); ", " insert into table ( field,zone) values ('c','d'); ", " insert into table ( field,zone) values ('e','f'); "]

望ましい出力:

insert into table ( field,zone) values ('a','b'); insert into table ( field,zone) values ('c','d');  insert into table ( field,zone) values ('e','f');

読んでくれてありがとう。

4

4 に答える 4

7
c = db.cursor()
values_to_insert = [("a","b"),("c","d"),...]
c.execute_many("INSERT INTO table (val1,val2) VALUES (?,?)",values_to_insert  )

これが execute_many の目的です...

于 2012-12-06T18:17:03.050 に答える
3

のように単純"".join(list)です。または、Hemeshが言ったように、リストをまったく使用せず、文字列の連結を使用します。

また、リストに「リスト」という名前を付けないでください。これはPythonの予約キーワードです(私は時々この罠に陥りますが、それは本当に悪い考えです)。

于 2012-12-06T18:09:38.210 に答える
2

それらすべてを連結するだけで、リストを使用する必要はありません。

insert = insert_ + insert_b + insert_c
于 2012-12-06T18:10:29.850 に答える
1

join簡単な追加が提案されているので、完全を期すための別のオプションを次に示します。

insert = '%s %s %s' % (insert_a, insert_b, insert_c)
于 2012-12-06T18:13:33.227 に答える