繁体   English   中英

如何检查sql的第一列或第二列中是否存在一个特定值?

[英]How to check that one specific value is exist in first coumn or second column in sql?

  1. 我有一个价值。 现在,我想检查“ from_user_id”列或“ to_user_id”列中是否存在该值,然后我想返回包含该值的最后一条记录,该记录将在“ from_user_id”或“ to_user_id”列中。

     $query3 = $this->db->query("select * from message where 26 IN(from_user_id,to_user_id) desc limit 1"); foreach($query3->result() as $row) { $message = $row->message; } 

    我已经尝试过了,但是没有用。

     $query3 = $this->db->query("select * from message where 26 IN(from_user_id,to_user_id)"); foreach($query3->result() as $row) { $message = $row->message; } 

    我也尝试过这没有给我最后的记录。

SELECT * 
FROM message 
WHERE from_user_id = 26 OR to_user_id = 26
ORDER BY id DESC
LIMIT 1

假设在您的消息表中,您将整数主键作为id 如果不是,请将语句更新为正确的字段

这很容易检查

 $this->db->where('from_user_id', 26);
 $this->db->or_where('to_user_id', 26);
 $result = $this->db->get('message')->result();

 if(isset($result) && count($result) > 0){ 
     foreach($result as $row)
     {
        $message = $row->message;
     }
  }else{
     echo 'No result found';  
  }

您可以像这样进行活动记录:

$id = 26;
$this->db->where('from_user_id', $id)
    ->or_where('to_user_id', $id)
    ->order_by('message_id','desc')
    ->limit(1);
$query3 = $this->db->get('message')->row();

if (!empty($query3)) {
    $message = $query3->message;
} else {
    echo 'No message found!';
}

其中message_id是消息表ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM