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

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

最佳答案

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

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

这通过在它们之间放置逗号(但不在第一个之前或最后一个之后)来组合所有单独的列。我还在字段定义周围添加了一个 (),并在单词 table 和表名称之间添加了一个空格。

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

关于python - 如何将列表对象中存在的列名添加到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17334053/

相关文章:

python - 将推文创建时间转换为 UTC

python - 可增长的 wxpython listctrl 列

MySQL 不为两列日期范围使用索引

php - 如何使用 jQuery UI 对话框确认数据库行删除?

mysql - 按字段最大值过滤重复项

Python 正则表达式 - r 前缀

python - 将大型 JSON 数组写入文件

python - 如何深度复制函数对象

mysql - 从具有许多表的 Mysql 中获取不匹配和匹配的行

php - 更新查询不起作用并将字段更改为 0