问题标签 [mysql-error-1062]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
18613 浏览

mysql - MySQL 二进制日志复制:可以设置为忽略错误吗?

我正在运行一个主从 MySQL 二进制日志复制系统(唷!),对于某些数据,它不同步(意思是,主服务器比从服务器拥有更多的数据)。但是slave会因为最轻微的MySQL错误而频繁停止,这可以禁用吗?(也许是复制从属忽略复制错误或某些类型的 my.cnf 设置;))

这就是不时发生的情况,当从站尝试复制不存在的项目时,从站就会死掉。在SHOW SLAVE STATUS \G 快速检查;

我通过执行以下操作立即修复(一旦我意识到从站已停止):

...最近这有点令人厌烦,在我吐出某种为我做这件事的 PHP 之前,我想知道是否有一些 my.cnf 条目不会在第一个错误时杀死奴隶。

干杯,

/mp

0 投票
6 回答
11628 浏览

php - 没有重复条目时的mysql重复条目错误(通过php批量加载)

我正在使用mysql (5.0.32-Debian_7etch6-log)并且我有一个夜间运行的批量加载php (5.2.6)脚本(通过 PDO 使用 Zend_DB (1.5.1)),它执行以下操作:

  1. 截断一组 4 个“导入”表
  2. 将数据批量插入到这 4 个“导入”表中(重新使用以前在表中的 id,但我截断了整个表,所以这应该不是问题,对吧?)
  3. 如果一切顺利,将“live”表重命名为“temp”,将“import”表重命名为“live”,然后将“temp”(旧“live”)表重命名为“import”

这工作了好几个星期。现在我偶尔会得到这个,在整个批量加载过程的中间的某个地方:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '911' for key 1

请注意,这不是截断之前表中的第一个 id。当我再次手动启动脚本时,它就像一个魅力。

有任何想法吗?剩余索引,可能与重命名有关?

此外,当我之后检查表中是否有 id 为 911 的条目时,它甚至不在那里。

0 投票
5 回答
5191 浏览

php - 以与 MySQL 相同的方式比较 PHP 中的字符串

我将 varchar 存储在 utf8 MySQL 表中并使用 utf8_general_ci 排序规则。我在 varchar 上有一个唯一索引。我想在 PHP 中做一个字符串比较,这相当于 MySQL 对索引所做的事情。

一个具体的例子是,我希望能够在这种情况发生之前检测到“a”被认为等同于 PHP 中的“À”:

0 投票
16 回答
46751 浏览

mysql - 在 Django 中加载固定装置时出现内容类型问题

由于内容类型冲突,我无法将 Django 固定装置加载到我的 MySQL 数据库中。首先,我尝试仅从我的应用程序中转储数据,如下所示:

但我一直缺少外键问题,因为我的应用程序“escola”使用来自其他应用程序的表。我一直在添加其他应用程序,直到我做到这一点:

现在问题是当我尝试将数据加载为测试夹具时出现以下约束违规:

问题似乎在于 Django 试图动态地重新创建具有不同主键值的内容类型,这些主键值与夹具中的主键值冲突。这似乎与此处记录的错误相同:http: //code.djangoproject.com/ticket/7052

问题是推荐的解决方法是转储我已经在做的内容类型应用程序!?是什么赋予了?如果有什么不同,我确实有一些自定义模型权限,如此处所述:http: //docs.djangoproject.com/en/dev/ref/models/options/#permissions

0 投票
2 回答
1027 浏览

mysql - MySQL 更新行为

mysql> update tablename set fieldname = 'C200900674' where fieldname - 'C200900673';

错误 1062 (23000):密钥 1 的重复条目“C200900674-2008-0-1”

对此有何想法或建议?我们有人不小心用减号而不是等号进行了更新。它显然试图更改小于该值的所有记录?即使它是字母数字的并且确实相当不完整。最重要的是,在出现该错误之前已更新了许多记录,并且根本没有任何反馈。没有像“查询正常,X 行受影响(0.00 秒)”这样的东西,所以我们不知道有多少被改变了。autocommit=1 所以无法回滚。

无论如何,只是寻找有关此的任何提示或指示。为什么该查询根本没有做任何事情,它看起来确实应该向我返回一个错误。当然,除了不让没有经验的管理员做愚蠢的事情的明显答案之外。

0 投票
4 回答
145 浏览

php - 处理数据库上的同时上传

我的网络应用程序允许用户同时将一堆照片上传到服务器,然后将它们存储在数据库中。当第一张照片完成上传后,它应该根据今天的日期创建一个默认相册,并将其添加到其中。但是如果 photo1 完成,寻找相册,但找不到它,所以它决定创建它,但在它之前,photo2 完成并且也找不到它,所以他们都尝试创建同一个相册,导致失败?这可能非常不可能,但我认为可能会发生。还是大多数 Web 服务器一次只处理一个 PHP 脚本?

这会是一个有效且好的解决方案吗?:它不是首先检查相册是否存在,而是尝试创建它。如果它返回错误 1062(重复条目),那么它会选择它。然后,如果您考虑一下,哪个先完成并不重要……我只是不知道捕获错误是否会对性能产生重大影响。如果我要上传 200 张照片,那么其中 199 张将无法插入查询,然后尝试选择。如果另一种解决方案正常工作,则 199 将成功,一个将失败。

想法?

0 投票
2 回答
731 浏览

java - WinXP 和 Mac OS X 中的 MySql

我正面临这个奇怪的问题。我在我的机器上用 Win XP 编码,然后将所有代码移到 Mac OS X 机器上。使用 XP 机器上的 jar 运行它。我正在用java编码并使用hibernate进行数据库处理。

不知何故,我无法插入一行,而键是使用增量生成器类生成的。我也在 Mac 上尝试了本机但同样的错误。

这是调试模式。现在,我知道该错误是密钥违规,但在 WinXP 中不会发生同样的情况。我在运行代码之前截断了我的数据库。我认为它们是 Mac 中的一些生成器类依赖项。还是其他罐子?

以下是一些细节:

  • Mac OS X 10.5 (x86_64)
  • MYSQL 5.1.35 社区服务器
  • mysql-connector-java-5.1.7-bin.jar JDBC驱动
  • Java(TM) 2 运行时环境,标准版(内部版本 1.5.0_16-b06-284)
  • Java HotSpot(TM) Client VM(build 1.5.0_16-133,混合模式,共享)

请指教

0 投票
2 回答
8519 浏览

java - 休眠保存奇怪的行为

我有一个与字符串类型具有一对多关系的用户对象。我相信它们是简单的映射。类型表包含关联的 user_id 和变量类型名称,主键“id”基本上是一个计数器。

这是我用于添加到数据库的 java:

当我运行它时,它给出了这个错误:

当我检查sql时,它显示:

  • 为什么 Hibernate 会尝试更新类型的 id?

错误说:键'PRIMARY'的重复条目'6',但真的没有吗?我确保每次都增加 id。并且用户和类型被正确添加到数据库中。

我记录了输入的信息,添加的类型的 id 为 7,用户 id 为 6。难道 Hibernate 采用了 6 的 user_id 并尝试更新类型并将 id=6 设置为 id=7?因此重复的主键错误?

但它为什么会做出如此奇怪的事情呢?有没有办法阻止它更新?

  • 我应该手动设置id吗?如果没有,那么我应该如何添加类型?当我添加一个只有一个类型字符串并且没有 ID 的类型对象时,它会给出其他错误。

多谢你们。这几天一直在琢磨……

0 投票
1 回答
19886 浏览

mysql - 从 Hibernate 得到重复的输入错误,是 MySQL 的罪魁祸首吗?

我正在开发一个主要是只读的数据库应用程序,但是有一个表记录了用户在应用程序中的移动,并且有大量的写入操作。对于每几千次写入,我们会在错误日志中看到一些异常,如下所示:

有问题的表具有以下架构:

以及对应的Hibernate映射XML:

尽管不太可能,我们的 webapp 的多个实例可能会同时写入数据库,因为我们在 webapp 上下文中的版本号可以无缝地发布应用程序的新版本。因此,在其 Web 浏览器中缓存了旧版本应用程序的客户端将访问旧版本的服务器,几周后我们将取消部署。

无论如何,我不相信这是问题所在,但我怀疑这里的 MySQL 和 Hibernate 之间存在一些同步问题。将我的生成器更改为序列、seqhilo 或 hilo 有帮助吗?此外,如果您可以提供在 MySQL 中设置此类生成器的示例,那将非常有帮助,因为大多数在线资源都是从 Hibernate 手册中可悲的极简示例中简单复制粘贴的。

0 投票
5 回答
338 浏览

sql - Cant make field unique!

Can you not have more than 2 unique fields in a table or am i doing something wrong here?

I have 1 unique key for username and i want it for email too but i get

#1062 - Duplicate entry '' for key 'email'

Tbl: