我创建了一个抓取脚本,每小时都会浏览不同的文章并将它们添加到数据库中。但是在这个数据库表中,我在日期和标题上设置了唯一键,因此它不会一遍又一遍地添加相同的文章。然而,这似乎是一个奇怪的效果,即使没有添加新闻,新闻自动增量ID上的ID似乎也会计数?我该如何解决这个问题?
$insert_news = $con->prepare("INSERT IGNORE INTO news (`title`, `url`, `image_url`, `date`, `news_text`, `website_id`) VALUES (?, ?, ?, ?, ?, 2)");
$insert_news->bind_param("sssss", $hltv_title, $hltv_link, $hltv_img, $hltv_date, $full_text_dont);
$insert_news->execute();
答案 0 :(得分:0)
INSERT IGNORE increases auto increment counter even no record is added?和prevent autoincrement on MYSQL duplicate insert可能重复。如果要防止自动递增ID中的间隙,应考虑更改逻辑。例如,在尝试插入记录之前,首先检查记录是否存在(使用SELECT查询)。