php - 为什么使用 cron 运行删除查询后 mysql 表 id 更改为降序?
问题描述
我有一个软件,可以从文件中插入 1000 个电话号码(上传文件以在 mysql 表中插入数据)。通过从文件中读取数据,将数据插入到表中。代码:
$handle = fopen("images/".$file_name, "r");
if ($handle) {
$i=1;
while (($line = fgets($handle)) !== false) {
$num=$line;
mysqli_query($con,"INSERT INTO sms_details (`sms`,`total_mobiles`,`user_id`,`sms_send_date`,`sms_send_time`,`status`,`file_name`,`mobiles`,`sms_count`,`reportname`) VALUES ('".$mobile_txt."','".$count_of_numbers."','".$id."','".$date."','".$date1."','DELIVRD','".$file_name."','".$num."','".$sms_count."','".$reportname."')");
}
fclose($handle);
现在我需要自动从数据库中删除 7 天前的数据,所以我为此设置了一个 cron。删除 7 天前数据的代码是:
$date = date("Y-m-d", strtotime('-7 day'));
$qry=mysqli_query($con,"DELETE FROM sms_details WHERE `sms_send_date` < '".$date."'")
or die(mysqli_error($con));
这工作正常。但是当我尝试插入新记录时,即上传带有数字的新文件以插入新数据时,ID 顺序(设置为主键和自动增量且顺序为 ASC)自动更改为 mysqli 表中的降序(phpmyadmin)。换句话说,新记录带有递减的 id 。
这是我的mysqli表结构
这是运行 cron 以从表中删除 7 天前的记录之前的 id 顺序
这是运行 cron 以从表中删除 7 天前的记录后的 id 订单
请告诉我为什么会发生这种情况以及解决此问题的方法是什么?
解决方案
推荐阅读
- javascript - 如何创建文件并将我的数据放在那里?
- thread-safety - OkHttpClent 线程安全吗?
- python - 将 API 输出转换为数据框的最简单方法是什么
- javascript - 执行html文件时浏览器中不显示文本
- tortoisegit - 如何让 TortoisGit 忽略 Commit、Log 和 Diff 窗口上的行尾差异?
- python - 如何使用python从txt文件中删除一行?
- spring - 使用 Retryable 时无法创建最终类的模拟
- php - Yii2 MongoDB 事务
- vue.js - 对象数组模型绑定中的复选框组件
- powershell - Powershell - 用分组项目替换.csv中的行