需要根据DB中的记录的存在来执行一些逻辑。由于此函数将被频繁调用,我想知道是否可以使以下内容更有效。。。
还要注意,该表是一个关联表(employee_id和department_id一起构成复合主键),因此只有一条记录符合条件。
前任:

<?php

    function checkEmpDptAssoc($employee_id, $department_id)
    {
        $sqlQuery = sprintf("SELECT COUNT(*)
                             FROM  employee_department ed
                             WHERE ed.employee_id = '%d'
                             AND   ed.department_id = '%d'",
                             $employee_id,
                             $department_id);

        $result = mysql_query($sqlQuery);
        $row = mysql_fetch_assoc($result);

        if ((int) $row['COUNT(*)'] > 0) {
            return true;
        } else {
            return false;
        }

    }
?>

最佳答案

“AA>可能会稍微快一点,因为您只需要确保存在。

SELECT 1 FROM DUAL
WHERE EXISTS (
    SELECT *
    FROM  employee_department ed
    WHERE ed.employee_id = '%d'
        AND   ed.department_id = '%d'
)

关于php - 检查单个MySQL记录是否存在的有效方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8515039/

10-16 22:00