2012-05-15 49 views
2

無論如何獲得種子字段名? 我的意思是種子是用這樣的東西創造的領域; INT NOT NULL AUTO_INCREMENT PRIMARY KEY如何以編程方式從表中獲取種子字段名?

我打算使用這種方法(在獲取種子字段名稱的過程中)以最快的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... 


} 
+0

您是指列名稱,對嗎? –

+0

你爲什麼要專門針對該列使用COUNT?它是否允許NULL,你不想數它們? http://www.mysqlperformanceblog.com/2007/04/10/count-vs-countcol/ –

+0

@Moyed是的。這是我以後的專欄名稱。 –

回答

2

如果你不是要算非NULL值的列數(COUNT(expr)不計空值),那麼就使用SELECT COUNT(*),讓MySQL的使用在使用相同的索引WHERE子句回答COUNT(*)

$sql = "SELECT COUNT(*) AS `count` FROM {$table} " . $where; 
+0

我不確定你的意思。 –

+0

從表中計算(種子)....它有什麼問題?我們爲什麼要談論空值? mysql如何讓一個種子值有一個空值來開始eith。看到我的觀點? –

+0

@AverageJoe,在你的問題中,什麼'{$ seed}'擴展到?它只是一個列名嗎? –

相關問題