2

とにかくシードフィールド名を取得する方法はありますか? シードとは、このようなもので作成されたフィールドです。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... 


}
4

1 に答える 1

2

列内の非 NULL 値の数を数えようとしてCOUNT(expr)いない (NULL を数えない) 場合SELECT COUNT(*)は、WHERE 句で使用されているのと同じインデックスを使用して MySQL に答えさせますCOUNT(*)

$sql = "SELECT COUNT(*) AS `count` FROM {$table} " . $where; 
于 2012-05-15T20:03:38.107 に答える