需要根据数据库中记录的存在执行一些逻辑。由于这个函数会被经常调用,我想知道下面的代码是否可以变得更有效率......
另请注意,该表是一张关联表(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;
}
}
?>
最佳答案
EXISTS可能会快一点,因为您只需要确保一个存在。
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/