0

この質問は以前に尋ねられた可能性がありますが、同じ方法ではありません。mysqlテーブルのすべてのフィールドが空かどうかを確認しようとしています。

主キーとして設定され、自動インデックスを持つIDフィールドがあるため、値がありますが、残りの列はデフォルトで空です。

これは私がこれまでに持っているものです:

public function check_empty_table() {
    $sql = "SELECT * FROM products";

    $fields = array();

    if ($stmt = $this->connect->prepare($sql)) {
        $stmt->execute();
        while ($stmt->fetch()) {


        }
    }

}

他に何を追加する必要がありますか?何を取得するか、どのように取得するかは関係ありません。その配列内のすべてのデータをスローして、配列が空かどうかを確認したいだけです。

4

2 に答える 2

2

テーブルが空かどうかを確認したい場合は、次を使用できます

SELECT COUNT(*) FROM table;

内部に何もない場合は0を返す必要があります。

于 2012-04-14T15:13:30.203 に答える
1

COUNT()の優れた点は、NULL値をカウントしないことです。

したがって、ID列以外の各列に対してこれを実行し、それぞれに対してゼロを取得した場合、それは「空白」になります。

SELECT COUNT(COL1), COUNT(COL2) FROM products
于 2012-04-14T15:58:29.060 に答える