1
我想配置一个SQL查询,如果记录存在,它不会再次插入。Codeigniter MYSQL QUERY insert_string避免重复
在此先感谢。
$name="John";
$value="login";
$this->db->query(
$this->db->insert_string("user_log", array(
"user_log_user_id" => $this->session->userdata("user_id"),
"user_log_name" => $name,
"user_log_value" => $value,
"user_log_date" => time()
))
如果它具有相同的时间和相同的活动,它不应插入到日志信息表中。例如:
例如。
CURRENT ISSUE:
No User Activity Time
-- ---------- ---------- ----------
1 John Login 01/10/2014 10:55
2 John Login 01/10/2014 10:55
3 John Login 01/10/2014 10:55
4 John Logout 01/10/2014 11:00
5 John Logout 01/10/2014 11:00
预期的结果:
No User Activity Time
-- ---------- ---------- ----------
1 John Login 01/10/2014 10:55
2 John Logout 01/10/2014 11:00
修改SQL,以便它使用'num_rows'或'计数()',或将您列UNIQUE以避免重复。 – 2014-10-01 04:47:00
你是否意味着我需要首先执行一个'SELECT'查询,然后将'活动'列,'时间'列和'User_id'列插入并设置为'UNIQUE'? 'UNIQUE'表达式是这三列的混合体。@ Fred-ii- – xyonme 2014-10-01 04:58:40
意思是说,在你的数据库接口中;修改您的列并将约束设置为UNIQUE。我不太了解CI,为了直接作为控制器来完成它,但它可以在SQL本身完成。 – 2014-10-01 05:03:39