gpt4 book ai didi

php - 如何在codeigniter中插入除id之外的唯一表数据?

转载 作者:行者123 更新时间:2023-11-30 00:48:07 28 4
gpt4 key购买 nike

如何在mysql中插入唯一的行?id 和 userid 都是不同的列。我已设置 id 是唯一的。但是 userid 和 checkin 列不应重复。这可能吗?

if($this->dx_auth->is_logged_in()){
$insertData['userid'] = $this->dx_auth->get_user_id();
$insertData['checkin'] = $checkin;
$insertData['checkout'] = $checkout;
$insertData['location'] = $location;
$insertData['guest'] = $nof_guest;
$id = $this->dx_auth->get_user_id();
$result = $this->Common_model->getTableData('searchlist', array("userid" => $id));
if($result->num_rows > 4){
$res = $result->result();
$del_id = $res[0]->id;
$conditions = array("id" => $del_id);
$this->Common_model->deleteTableData('searchlist', $conditions);
}
if($location != "0"){
$this->Common_model->inserTableData('searchlist', $insertData);}}

最佳答案

您可以将您的 id 作为用户表的主键并自动递增。

然后,您必须为 useridcheckin 创建组合的唯一 key 。

CREATE UNIQUE INDEX user_checkin_time ON searchlist (userid, checkin);

在 Controller 中,您必须在插入/更新之前验证用户 ID 并 checkin 。

$isExist = $this->Common_model->getTableData('searchlist', array("userid" => $id,"checkin"=>$checkin));
if($isExist->num_rows()>0)
{
// throw error message as checkin time already exist
}
else
{
// continue with further code
}

关于php - 如何在codeigniter中插入除id之外的唯一表数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21204704/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com