mssql服务器中表的记录数

时间:2018-11-06 06:25:50

标签: python sql-server

我正在尝试获取编号。 mssql表中的记录/计数,但得到:

  

pymssql.ColumnsWithoutNamesError:指定为as_dict = True,并且存在没有名称的列:[0]

这是我正在尝试的:

cur = hook.get_cursor()                        
cur.execute(self.sql)

查询为:

select count(*) from abc

1 个答案:

答案 0 :(得分:0)

请参见here

  

问题是,如果您使用以下命令打开连接或光标   as_dict = True,那么输出中的每一列都必须有一个名称。用   常规数据库表列,输出名称继承自   列名。如果您有一个SQL表达式,例如在   列名称(例如:MAX(foo)),则输出列没有   名称,因此不会显示。您可以做两件事   使它起作用:

1. Give the SQL expression a name -- e.g.: SELECT MAX(foo) AS [MAX(foo)]...
2. Don't use as_dict=True for these queries

我认为COUNT函数也是一样。因此,尝试使用“ AS”为结果命名。

或者查看 pymsql _mssql 模块(这里还有COUNT的example

import _mssql
conn = _mssql.connect(server='SQL01', user='user', password='password', database='mydatabase')
numemployees = conn.execute_scalar("SELECT COUNT(*) FROM employees")