我有一个页面查看表,每次查看页面时,用户的 ip 和页面 id 都会放在一个表中。在这张表中,我只希望每个 ip/page id 组合有一行。如果我将主键设置为 ip,那么每个 ip 只能与一个页面关联。如果我将主键设置为页面 id,那么每个页面只会关联一个 ip。
我需要这两个作为键,因为它是 ip 和 page id 的组合,不能在表中重复。我怎样才能做到这一点?
$mysqli->query("INSERT INTO page_views (ip, page_id, view_key) VALUES ('$ip', '$page_id', '$view_key')
ON DUPLICATE KEY UPDATE page_key='$view_key'");
这就是我需要设置工作的方式 - 所以每次有人查看页面时,都会为他们分配一个 view_key,并将其放入表格中。如果已经有该 ip 查看该页面的记录,则应覆盖 view_key 字段。