如何将列表对象中存在的列名添加到表中

时间:2013-06-27 03:29:44

标签: python mysql

如何做到这一点

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与列表对象连接起来...... 请帮忙!!

1 个答案:

答案 0 :(得分:1)

通常,当您想要将列表(或数组)与字符串组合时,需要使用join()。 假设config.table是一个字符串,而config.cols是一个数组/列表,你可能想要这样的东西:

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

这将所有单个cols组合在一起,在它们之间加上逗号(但不是在第一个之前或之后)。我还在字段定义周围添加了一个(),并在字表和表名之间添加了一个空格。

如果它仍然不起作用,请尝试打印字符串,而不是执行它,以确保它是有效的SQL。