1

我有一个查询,它在我网站上的每个页面加载时运行。以一种简单的形式,它检查用户 IP 是否在数据库中,如果不是,它将添加它,如果是,则不执行任何操作。为了节省自己必须运行两个查询来完成此操作(一个要检查,一个要插入),我正在使用以下 SQL:

INSERT IGNORE INTO `limits`
SET `ip` = :ip, `limit` = :limit

这意味着如果:ip已经存在则什么都不做,如果不存在则创建记录。它工作正常,但是我注意到我的表的主键在每次页面加载时都会增加。

例如,主键字段被调用id,它是int(11) AUTO_INCREMENT. id数据库中的第一条记录的值显然是1. 刷新页面 10 次后,它现在的值为11,即使我的 IP 没有更改并且查询没有插入新记录。

有没有办法让查询id在每次执行时都不更新字段?

4

0 回答 0