0

このようにする方法

cursor.execute("create table" + config.table + config.cols)

すべての設定名は異なるファイルにあり、cols はこのようなリスト オブジェクトです

cols = [
  "name varchar(50)",
  "address varchar(50)",
  "etc "

私はこのようなエラーがあります

TypeError: cannot concatenate 'str' and 'list' objects

strをリストオブジェクトと連結する方法...助けてください!!

4

1 に答える 1

1

通常、リスト (または配列) を文字列と結合する場合は、join() を使用する必要があります。config.table が文字列で、config.cols が配列/リストであると仮定すると、次のようなものが必要になる場合があります。

cursor.execute("create table " + config.table + " (" + ", ".join(config.cols) + ")")

これは、それらの間にコンマを入れることによって、すべての個々の列を結合します(ただし、最初の列の前または最後の列の後にはしません)。また、フィールド定義の前後に () を追加し、テーブルという単語とテーブル名の間にスペースを追加しました。

それでもうまくいかない場合は、文字列を実行する代わりに出力してみて、有効な SQL であることを確認してください。

于 2013-06-27T03:35:57.383 に答える