我正在尝试创建一个简单的函数,用于从MySQL表中的一列返回不同的值。
def get_distinct(column_name):
sql = 'SELECT DISTINCT %s FROM mydb.mytable'
cur.execute(sql, (column_name,))
return cur.fetchall()
但我得到的结果是: (( '列名',),)
当我尝试:
def get_distinct(column_name):
sql = 'SELECT DISTINCT %s FROM mydb.mytable' % column_name
cur.execute(sql)
return cur.fetchall()
我的结果与预期一致: ((a,),(b,),(c,))
我想以“正确”的方式做事,但我不明白为什么我会得到这些结果。
Python 2.7 MySQL 5.6 MySQLdb 1.2.3 final