mysql - SQL CONSTRAINT UNIQUE 无法插入更多数据
问题描述
我有下表,我在其中插入了一些数据。问题是我不能超过大约 53000 行,然后当表行业更新即将达到 53000 行时,它会回落到大约 52000 行。我在数据库中仍然有足够的空间,我在这个表上没有任何调度程序或任务。Industry_url 上有一个索引。会是什么呢?谢谢。
插入数据的命令:
$sql = "INSERT INTO industry_updated (skills,weight,industry,industry_url) VALUES ('$skills','$weight','$industry','$industry_url')
ON DUPLICATE KEY UPDATE
skills = '" . $skills . "' ,
weight = '" . $weight . "' ,
industry = '" . $industry . "' ,
industry_url = '" . $industry_url . "'
";
表:
$sql = "CREATE TABLE industry_updated (
skills VARCHAR(255) NOT NULL,
weight INT(10) NOT NULL,
industry VARCHAR(255) NOT NULL,
industry_url VARCHAR(255) NOT NULL,
CONSTRAINT UC_industry_updated UNIQUE (skills,industry_url)
)";
解决方案
因此,我习惯于SELECT COUNT(DISTINCT skills) FROM weighted_skills_industry;
计算行数,并且没有问题,因为技能按预期增加。
下降的是 PhpMyAdmin 中屏幕上的行数,即今天显示行 0 - 29(总共 52231,查询花费 0.0006 秒。)运行上面的代码后 12414 技能,而昨天它说显示行 0 - 29 (总共 54566 个,查询耗时 0.0006 秒。)对于 12404 个技能。不知道为什么屏幕上的 Showing rows 消息从一天到另一天变化如此之大,今天的行数比昨天少,但技能更多。
推荐阅读
- c# - .net 4.6.1 上的超时异常,但在 .net core 2.0 上没有,同时使用 MongoDB.Driver 连接到 mongodb
- ios - 超时 - 在 60000 毫秒内未调用异步回调
- node.js - 如何在 ip camera (onvif) 中启用事件
- jenkins - 如何在 Grafana 中构建显示 Jenkins 作业状态的仪表板?
- http-status-codes - 如何为自定义 Thingworx 服务设置 HTTP 状态代码
- python - Matplotlib:如何删除一组子图之间的间距
- mysql - MARIADB - 如果没有提供默认值,SQL 可以将 NULL 转换为空字符串吗?
- azure - 从 Azure 重定向到我的应用程序时出现未定义的登录 URL 错误
- javascript - Bootstrap js与剑道冲突
- windows - Win32_Product 响应中的奇怪差距