【问题标题】:insert list into one row in python3 sqlite3在python3 sqlite3中将列表插入一行
【发布时间】:2017-10-20 04:55:35
【问题描述】:

假设我创建了一个 sqlite3 数据库,并在其中创建了一个表

c.execute("CREATE TABLE tablnam(thing TEXT, thing2 TEXT, thing3 TEXT)")

然后我列了一个清单

list = ["a","b","c"]

我将如何将一个列表插入到 tablnam 中的一行。 我试过了

c.execute("insert into this values(?)",list)

但它会返回 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: parameters are of unsupported type

所以向那些不明白的人澄清一下:我想在 python 的 sqlite3 表的 ONE 行中插入一个列表值 谢谢!

【问题讨论】:

    标签: python list python-3.x sqlite


    【解决方案1】:

    好吧,伙计,这行不通,您正试图将 list 放在 text 所属的位置。尝试这样做:

    c.execute("INSERT INTO tablenam(thing, thing2, thing3) VALUES (?, ?, ?)",list[0], list[1], list[2])

    您的建议的不同之处:

    • 我将单个 string 放入每个 text 字段
    • 每行只能插入恰好三个列表项。
    • 我已将您的 SQL 语法更改为包含 tablenam 并输入列名
    • 更改了 SQL 样式:关键字全部大写

    请注意,您不能(也不应该)将整个列表放入数据库中的单行。如果您必须按照这些方式做某事,请查看外键。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-11
      • 1970-01-01
      • 2016-09-20
      • 2021-06-05
      • 2015-12-04
      • 2021-03-24
      相关资源
      最近更新 更多