需要根据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/