codeigniter的form_validation中的is_unique是同步的吗?如果两个并发请求检查电子邮件并且两者都变为false,那么是否会将值写入数据库或者它是如何同步的? (如果列未设置为唯一)
这(基本上)是is_unique
函数:
return $this->CI->db->limit(1)->get_where($table, array($field => $str))->num_rows() === 0
你可以看到它是一个简单的get_where
。如果num_rows
为0,则函数返回true,因为值是唯一的。
话虽这么说,我非常怀疑你的网站将获得如此多的流量,同时请求发生,即便如此,你可以编写的任何函数基本上与form_validation
s实现相同。
现在,根据查询类型,您可以减轻事务的任何潜在问题。不幸的是,CodeIgniter没有Laravel或其他更现代的框架所具有的任何酷锁功能。