我想以编程的方式传递表中python(psycopg2)中的少数列。
cursor.execute("SELECT col1,col2,col3...coln FROM %s ORDER BY datetime ASC" %mytable)列名col1、col2、col3...coln可以长度为100,每次调用cursor.execute()时都会更改。
发布于 2018-06-14 06:39:38
您已经在使用字符串内插,所以您可以对列名进行同样的操作。将列名放入数组中,并在格式化查询时加入它们:
columns = ['col1', 'col2', 'col3']
cursor.execute("SELECT %s FROM %s ORDER BY datetime ASC" % (','.join(columns), mytable))重要的是,这些列由您严格控制,而不是从用户输入中生成,因为这将启用SQL注入攻击。
https://stackoverflow.com/questions/50850843
复制相似问题