我在表中有以下数据..
+-------------+---------------+--------------+
| activity_id | activity_name | main_unit_id |
+-------------+---------------+--------------+
| 1 | DEA | 67 |
| 2 | DEB | 68 |
| 3 | DEC | 68 |
| 4 | fasdfsadf | 74 |
+-------------+---------------+--------------+
我想添加另一个事件,但在添加之前我必须确保相同的事件名称不存在于 main_unit_id 中... 我写了以下查询,
$SQL_CHECK_ACTIVITY = mysql_query(
"SELECT count(*) FROM activities " .
"WHERE main_unit_id = '67' and activity_name = 'DEA'"
);
$RESULT_SQL_CHECK_ACTIVITY = mysql_num_rows($SQL_CHECK_ACTIVITY);
echo $RESULT_SQL_CHECK_ACTIVITY;
然后它打印 1 这意味着针对该项目的事件已经存在...
$SQL_CHECK_ACTIVITY = mysql_query(
"SELECT count(*) FROM activities " .
"WHERE main_unit_id = '78' and activity_name = 'afsdaf'"
);
$RESULT_SQL_CHECK_ACTIVITY = mysql_num_rows($SQL_CHECK_ACTIVITY);
echo $RESULT_SQL_CHECK_ACTIVITY;
然后它打印 1 这意味着针对该项目的事件已经存在... 但在这种情况下没有记录....
最佳答案
如果您想添加另一个事件,但不想在 main_unit_id
上重复,那么正确的方法是在该字段上创建一个唯一索引(或约束):
create unique index idx_activities_mainunitid on activites(main_unit_id);
如果您尝试插入重复项,插入将失败。
关于PHP MySQL查询以检查记录是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28521594/