【发布时间】:2012-05-15 19:44:36
【问题描述】:
有没有办法得到种子字段名? 我所说的种子是指用这样的东西创造的领域; INT NOT NULL AUTO_INCREMENT 主键
我计划使用它(以编程方式获取种子字段名称)提出最快的 SQL 查询来获取表中的记录数。
我打算写的函数是这样的。请填空并提供 getSeed 函数内部机制。
function get_record_count ($dbh,$table,$where){
//get the seedfield name in the {table} programmatically
$seed = getSeed($dbh,$table);
$sql = "select count({$seed}) as `count` from {$table} " . $where;
//do the mysql query & get num rows to return it...
}
【问题讨论】:
-
你的意思是列名,对吧?
-
您为什么专门针对该列使用 COUNT?它是否允许 NULL 并且您不想计算它们? mysqlperformanceblog.com/2007/04/10/count-vs-countcol
-
@Moyed 是的。这是我要的列名。
-
@Marcus 为什么种子里面会有一个NULL?计算种子 = 计算记录数。不是吗?
-
没有。 COUNT() 不计算 NULL 值。如果您的种子列允许 NULL,则计算种子与计算记录数不同。