我试图用python在mariadb中创建一个表。我将所有列名存储在一个列表中,如下所示。你知道吗
collist = ['RR', 'ABPm', 'ABPs', 'ABPd', 'HR', 'SPO']
这只是样本清单。实际列表中有200项。我试图创建一个表,使用上面的collist元素作为列,列的数据类型是VARCHAR。你知道吗
这是我用来创建表的代码
for p in collist:
cur.execute('CREATE TABLE IF NOT EXISTS table1 ({} VARCHAR(45))'.format(p)
上面的代码正在执行,但只有列表的第一个元素作为列添加到表中,我看不到其余的元素。如果能帮上忙我会很感激的。你知道吗
您可以将字符串分为3部分构建,然后将它们
.join()
组合在一起。中间部分是列定义,连接原始列表中的每个项。这看起来并不是特别健康;无论是列的数量还是所有内容都是VARCHAR(45),但这是您的决定:因为我们使用了
join
,所以需要分别指定最后一个列类型(列表中的第三项)来正确关闭查询。你知道吗注意:如果输入数据来自用户输入,那么这很容易受到SQL注入的影响,因为您只是在中格式化要执行的未知字符串。我假设列名列表是程序内部的。你知道吗
相关问题 更多 >
编程相关推荐