简而言之:不知何故,行被赋予ID 0。当发生这种情况时,即使这些插入实际上没有与ID 0冲突,首先不会发生)。

虽然它被大量读取并且插入非常严重(高达〜300k行/分钟),但该表格从不更新。插入的唯一方法是导致如下所示的INSERT INTO查询的方法。没有外键或类似的东西。

a)WTF? b)如何解决?

谢谢!

$ mysql --version

mysql Ver 14.14 Distrib 5.1.30, for apple-darwin9.4.0 (i386) using readline 5.1

$ mysql

mysql> SHOW CREATE TABLE visitations \G

*************************** 1. row ***************************

Table: visitations

Create Table: CREATE TABLE `visitations` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`scraping_id` int(11) NOT NULL,

`site_id` int(11) NOT NULL,

`visited` tinyint(1) NOT NULL,

PRIMARY KEY (`id`),

UNIQUE KEY `index_visitations_on_scraping_id_and_site_id` (`scraping_id`,`site_id`),

KEY `index_visitations_on_site_id` (`site_id`)

) ENGINE=InnoDB AUTO_INCREMENT=23525407 DEFAULT CHARSET=latin1

1 row in set (0.00 sec)

mysql> show triggers;

Empty set (0.04 sec)

mysql> INSERT INTO `visitations` (`scraping_id`,`site_id`,`visited`) VALUES (647,196,0),(647,51679,0),(647,13689,0),(647,85739,1),(647,4388,0),(647,100346,0),(647,1245,0),[snip];

ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'

mysql> SELECT * FROM `visitations` WHERE (`scraping_id`,`site_id`,`visited`) IN ((647,196,0),(647,51679,0),(647,13689,0),(647,85739,1),(647,4388,0),(647,100346,0),(647,1245,0),[snip]);

Empty set (1 min 27.43 sec)

mysql> select * from visitations where id = 0;

+----+-------------+---------+---------+

| id | scraping_id | site_id | visited |

+----+-------------+---------+---------+

| 0 | 645 | 46177 | 0 |

+----+-------------+---------+---------+

1 row in set (0.00 sec)

mysql> delete from visitations where id < 363;

Query OK, 363 rows affected (0.11 sec)

mysql> select * from visitations where id = 0;

Empty set (0.00 sec)

mysql> INSERT INTO `visitations` (`scraping_id`,`site_id`,`visited`) VALUES (647,196,0),(647,51679,0),(647,13689,0),(647,85739,1),(647,4388,0),(647,100346,0),(647,1245,0),[snip];

Query OK, 500 rows affected (0.23 sec)

Records: 500 Duplicates: 0 Warnings: 0

mysql> select * from visitations where id = 0;

Empty set (0.00 sec)

mysql> INSERT INTO `visitations` (`scraping_id`,`site_id`,`visited`) VALUES (647,196,0),(647,51679,0),(647,13689,0),(647,85739,1),(647,4388,0),(647,100346,0),(647,1245,0),[snip];

ERROR 1062 (23000): Duplicate entry '647-196' for key 'index_visitations_on_scraping_id_and_site_id'

2010-03-05

Sai

mysql primary重复_mysql:键'PRIMARY'和奇怪的ID行为重复条目'0'相关推荐

  1. mysql primary重复_mysql中primary key重复时的处理办法

    mysql中primary key重复时的处理办法 文章作者:网友投稿 发布时间:2010-03-14 22:25:52 来源:网络 当insert进数据表, 发生唯一key(unique key与p ...

  2. mysql normal 索引_Mysql索引PRIMARY、NORMAL、UNIQUE、FULLTEXT 区别和使用场合

    索引 数据库的索引就像一本书的目录,能够加快数据库的查询速度. MYSQL索引有四种PRIMARY.INDEX.UNIQUE.FULLTEXT, 其中PRIMARY.INDEX.UNIQUE是一类,F ...

  3. mysql 统计 邮箱_mysql查询之 连续出现的数字,重复出现的邮箱,删除重复的电子邮箱...

    1.编写一个 SQL 查询,查找所有至少连续出现三次的数字. +----+-----+ | Id | Num | +----+-----+ | 1 | 1 | | 2 | 1 | | 3 | 1 | ...

  4. mysql group by 去除重复_mysql中distinct和group by过滤删除重复行

    下面先来看看例子: 代码如下 table id name 1 a 2 b 3 c 4 c 5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. 比如我想用一条语句查询得到name不重复的 ...

  5. mysql localhost值_mysql数据库中用户表host字段localhost、127.0.0.1、%区别

    忘记mysql密码后,通过添加my.cnf中[mysqld]段skip_grant_tables参数跳过认证后修改密码. 改完后重启发现还是无法登陆,排查后发现是mysql.user表中host字段值 ...

  6. R语言 数据清洗 重复值所在的行 重复 的筛选与去除,唯一ID出现重复 no重复处理

    住院号 姓名 等唯一值变量的检查与筛选 重复值所在的行 使用本地数据 鸢尾花(yuān wěi huā)做示例 [R语言][数据清洗]重复ID数据获取比对 #加载内置数据 data(iris) dat ...

  7. mysql ignore用法_mysql insert 语句中的 ignore 关键字的作用

    IGNORE:表明,如果你插入的行已经存在,则成功返回,不会报错(会有警告),忽略当前插入的记录,不使用IGNORE时,如果插入了相同的行数据时,MySQL则会报错. MySQL是通过主键来判断两个行 ...

  8. mysql 主从故障处理_mysql主从同步出错故障处理总结[数据库技术]

    Error_code:1032;handlererrorHA _ERR_KEY_NOT_FOUND; end_log_po25theevent\'masterlogmysql-bin.000006.4 ...

  9. mysql force作用_mysql force index 用途

    mysql索引优化一直以来是DBA和开发人员长期坚持的一项基本工作,合理的索引对于业务来说非常重要,合理的索引能有效改善性能.因此在开发中,定期排查索引的有效性很重要,排查的根据就是历史sql,排查的 ...

  10. mysql中的主键关键字_MySQL主键(PRIMARY KEY)

    "主键(PRIMARY KEY)"的完整称呼是"主键约束".MySQL 主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键 ...

最新文章

  1. 2021年大数据ELK(五):Elasticsearch中的核心概念
  2. 一个多年网络工程师总结的工作实用经验
  3. rust相框加载图片代码_Rust 能取代 Python,更好的实现神经网络?
  4. Linux shell脚本编程(一)
  5. 在印度8年的华为工程师,有很多话想说。
  6. 我们变成了最小的,当我们发现不了最弱小的时候
  7. Git的使用——解决中文乱码
  8. LeetCode 985 Sum of Even Numbers After Queries 解题报告
  9. 让大家久等了,BERT推理加速终于开源了
  10. 【每日算法Day 71】面试官想考我这道位运算题,结果我给出了三种解法
  11. nod32 激活码 地址 NOD 32
  12. 大厂HR的新对手是Excel
  13. 彼得·林奇的25条黄金规则
  14. mysql替换首字母_MySQL中使用replace、regexp进行正则表达式替换的用法分析
  15. 构建TCP套接字(socket)的概念及具体步骤
  16. python中使用cv2遍历图片像素点以及改变像素点的像素值
  17. 恒大帝景220平文华东路
  18. 大势智慧与华为云联合打造全国首个云原生城市智能中枢时空计算服务
  19. C++ 资源大全(各种库)---------伯乐在线
  20. 企业网站如何防护CC攻击

热门文章

  1. SpringBoot+zk+dubbo架构实践(二):SpringBoot 集成 zookeeper
  2. Cannot use v-for on stateful component root element because it renders multiple elements.
  3. java与python结合使用_Java与Python使用grpc跨平台调用
  4. PHP字符串部分方法
  5. Yii2中Component和Object的使用方法
  6. 六石编程学:如何整合两个项目的代码
  7. 如何让应用出现在LINUX的右键/打开方式/更多应用
  8. 2021-0316:梦中明白在作梦
  9. 编程基本功:一个任务的难度是不是适合自己,有没有产出,心里要有数
  10. 编程基本功:带着本子却不记录,你以为听懂了记住了,不可能的