日期:2014-05-20  浏览次数:20814 次

数据库中有一列叫做count,和函数count相混淆
在数据库中有一列叫做count。当这么查询的时候就报错。认为现在写的count是数据库中列。这么怎么解决啊?
SELECT   count(*)   FROM   SMS


------解决方案--------------------
count是关键字,类似的关键字还有user,table等

一般来说,是不允许使用关键字来命名表和列的。

有些数据库,例如mssql,易用性比较强,允许使用关键字作为列名,但查询的时候需要特殊处理一下。

例如,table{id,user}
select id,[user] from [table]

最后说一下我的建议:
学习一下tsql92标准,所有的关系数据库都是遵守类似标准的(版本不同遵守的sql标准也有区别)。不要使用关键字作为列名和表名,这极其不规范。
------解决方案--------------------
汗了。。 程序把关键字当成了列名。 我看你最好还是到数据库版问吧
------解决方案--------------------
SELECT count(id) FROM SMS ,不要用count(*)

mysql可以给字段加上``符号
sqlserver,access 可以加 []符号解决。