1

Web サイトのページが読み込まれるたびに実行されるクエリがあります。簡単な形式では、ユーザーの IP がデータベースにあるかどうかを確認し、そうでない場合は追加し、ある場合は何もしません。これを達成するために2つのクエリを実行する必要がないように(1つはチェック用、もう1つは挿入用)、次の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