首页 > 解决方案 > 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)
)";

标签: mysqlsql

解决方案


因此,我习惯于SELECT COUNT(DISTINCT skills) FROM weighted_skills_industry;计算行数,并且没有问题,因为技能按预期增加。

下降的是 PhpMyAdmin 中屏幕上的行数,即今天显示行 0 - 29(总共 52231,查询花费 0.0006 秒。)运行上面的代码后 12414 技能,而昨天它说显示行 0 - 29 (总共 54566 个,查询耗时 0.0006 秒。)对于 12404 个技能。不知道为什么屏幕上的 Showing rows 消息从一天到另一天变化如此之大,今天的行数比昨天少,但技能更多。


推荐阅读