0

我正在尝试为我的聊天发出一种好友请求,

所以我设置了一张名为cyb_user_friendlist

然后我放了一些这样的表:

1   id_friendlist   int(11) AUTO_INCREMENT   
2   from            int(11)     
3   to          int(11)         
4   couple          varchar(11)
5   accept          int(11)     
6   block           int(11)

因此,对于每个朋友请求,都会在此表中插入发送者的 id 到 from 和接收者的 id 到 to,但是为了确保每对夫妇只有一个请求,我添加了一个名为 couple 的字段,其中有from 和 to 带有垂直分隔符 |。这个字段有一个 uniq 键,因为我想防止多条记录。

唯一的问题是它似乎不起作用,实际上我将我的 uniq 键添加到了这个字段,并将主键添加到了 id_friendlist 但它不起作用,我可以根据需要发送许多请求......

我的请求 $sql 如下:

$query = "INSERT INTO `cyb_users_friendlist` SET
            `from` = {$from},
            `to` = {$to},
            `couple` = '{$from}|{$to}'";

我真的不知道我错在哪里......

任何帮助将不胜感激。

4

2 回答 2

0

当您可以添加唯一索引时,为什么还要添加另一个连接两个字段的字段?

mysql组合唯一键

ALTER TABLE `YOUR TABLE` ADD UNIQUE `unique` ( `from` , `to` ) 
于 2013-11-02T21:34:39.363 回答
0
 $query = "INSERT INTO `cyb_users_friendlist` SET
        `from` = $from,
        `to` = $to,
        `couple` = concat('$from','|','$to')'";
于 2013-11-02T21:35:01.280 回答