我希望避免DB中重复的条目。
$lead = $CI->db->get_where(db_prefix(). 'leads', ['fbid' => $sender]);
if ($lead->num_rows() == 0) {
$CI->social_model->create($sender);
}在mysql中的
问题是,有时facebook同时发送相同的查询,而我的php检查由于这个原因而失败。我想知道是否有任何方法可以避免同时发送的查询在mysql端重复。(或任何其他方式都受欢迎)
发布于 2021-09-06 16:02:29
您的问题是,您在fbid和id列上有一个唯一的键。因此,当您将一个新行插入到表中时,您有一个id和fbid的唯一组合,因为当您再次插入相同的数据时,您将得到一个更新的id值,因此满足了约束。
您的约束应该只包含fbid
或者,当您需要一个fbid的多个条目时,您应该查看来自api的响应中是否有其他可用于约束的值(比如时间戳)。
https://stackoverflow.com/questions/69074618
复制相似问题