问题标签 [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.
mysql - 使用用户名 = 电子邮件保存用户时出现 IntegrityError
我已经修改了我的应用程序,以便在注册新用户时,它的用户名和电子邮件是相同的。但是当创建一个新用户时,我得到IntegrityError : (1062, "Duplicate entry 'my@email.com' for key 'username'"),仍然正确创建了用户。
在其中创建新用户的函数 register_new('temp_data' 是来自 form.cleaned_data 的字典):
,这里是 registration.backend 注册函数,它创建新用户:
追溯 :
我搜索了解决方案并发现了许多不同的解决方案,包括删除/同步表、在不同位置捕获 IntegrityError、更改表列的解码字段(我尝试设置为 utf8_bin 但没有结果)。如何解决这个问题?
表结构:
http://i27.tinypic.com/dotmjs.png
http://i32.tinypic.com/1zq79tj.png
我在 django docs 找到了这张票: http://code.djangoproject.com/ticket/3083 但是应该同时创建 2 个模型。就我而言,我猜不会发生这样的事情:/
更新 模型:
php - phpmyadmin 错误“#1062 - 密钥 1 的重复条目 '1'”
我从数据库中删除了所有表,然后恢复(导入)备份。之后我得到error #1062 - Duplicate entry '1' for key 1
.
我应该重复这个过程吗?或者是其他东西?为什么会出现这个错误?
mysql - 如何从 MYSQL 转储中恢复数据而不会出现任何重复的密钥错误?
每次我尝试恢复转储时,我都会得到:
第 10297 行的错误 1062 (23000):键 'PRIMARY' 的重复条目 'spaß'
我正在尝试使用以下方法恢复它:
sql - 将不同表中的两列组合在一起
比如说:
我有两个表:old_data和new_data。
old_data和new_data都有一个名为this_is_col的列。
old_data和new_data都有各种(数百)行日期(2010-02-06、2010-01-09、2007-06-02 等)。两个表不一定具有相同的日期,但它们都具有相同的格式。
两个表的字段都是各种整数。
我的任务:
将字段从old_data复制到new_data。
如果两个表中都存在日期,则new_data中的字段将被替换。
如果new_data中不存在日期,则将添加正确的行并复制该字段。
这是我已经走了多远:
创建一个临时列:
从old_data复制数据:
结合临时列和new_data。this_is_col。(我还没有真正想出这一步,因为我还没有走到这一步)。
删除临时表
在执行第二个操作(将数据传输到临时列)时,我收到此错误:
#1062 - Duplicate entry '0000-00-00' for key 1
现在我被困住了。任何帮助,将不胜感激。我正在使用 MySQL 和 phpMyAdmin 来测试 SQL 命令。
mysql - phpMyAdmin 错误 #1062 - 密钥 1 的重复条目“1”
我不确定为什么会收到此错误 #1062 - Duplicate entry '1' for key 1 cany 任何人都可以帮助解释它的含义。谢谢
doctrine - PHP Doctrine - 完整性约束违规:1062 重复条目(主键)
我正在从自定义 PDO 查询中加载大量User
相关Group
对象(使用 Doctrine connection => $dbh = Doctrine_Manager::connection()->getDbh(); )。该查询涉及 DQL 中不支持的交叉连接。
我正在手动创建对象并像这样传递值:
我希望能够保存User()
对象(因为在$u->some_field
这种情况下可以更改)。然而,Doctrine 试图插入并且违反了键约束。
我知道错误被抛出,但是我希望能够只更新该some_field
列(也许最重要的是:NOT THE GROUP)。使用上述预加载,这一切都可能吗?
mysql - Mysql唯一索引不适用于某个变音符号
我有一个用户表,其中有一列名为“昵称”,utf-8 编码,varchar(20),该表在 InnoDB 中。有 2 条记录,一条昵称 = 'gunni',另一条昵称 = 'günni'。当我尝试在此列上应用唯一索引时,mysql 给了我这个错误:
第 263 行的错误 1062 (23000):键 2 的重复条目“gunni”
我检查了数据,只有一条名为“gunni”的记录,如果我将“günni”记录更改为其他内容,然后再次应用唯一索引,一切正常。
'günni' 和 'gunni' 怎么会重复?这是它们的十六进制值,我通过 mysql 的 hex() 函数得到:
冈尼-> 67756E6E69
günni -> 67C3BC6E6E69
他们显然是不同的。mysql如何将这两个视为相同?或者有什么我不知道的唯一索引?甚至,这可能是一个 mysql 错误吗?
mysql - 如何查找哪个字段重复
我的表有四个字段,其中两个字段是唯一的。例如,它们是用户名和电子邮件。人们在前端注册。我使用 ajax 动态显示他们的注册结果。
我正在做一个插入查询。如果有错误,那么我使用错误号来查找它是 1062(重复条目)还是 1064(查询字符串错误),否则用户已成功注册。
如果用户无法注册,那么我会以用户友好的方式显示原因。如果有重复,那么我必须显示用户名已经存在或电子邮件已经存在。
这里的重点是我不想使用选择查询来查看用户名或电子邮件是否已经存在,如果不存在则执行插入查询。
如果我像上面那样做,则必须执行两个查询。我只想运行一个查询,并在错误号和错误消息的帮助下,我想准确地向用户显示错误的类型。
现在问题在于重复性。
我发现它是重复的,我有这样的错误字符串
密钥“电子邮件”的重复条目“test@gest.com”或密钥“用户名”的重复条目“测试”
我想使用 strpos 来查找字段名称,以便我可以向用户显示电子邮件已经存在或用户名已经存在。
但在某些服务器中我会这样
键 2 的重复条目“test@gest.com”或键 3 的重复条目“测试”
在这种情况下,我需要做一个正则表达式来提取最后一部分,如果它是一个字符串,我会做一个 strcmp 来确定哪个字段是重复的,我会相应地向用户显示错误,或者它是一个数字,那么我需要一个简单的 switch 语句来确定哪个字段有重复项。
**
那么,如果表中有更多唯一字段,还有其他方法可以获取哪个字段重复。
** 或者如果没有,那么我只是想把这个问题放在人们的脑海中,这样如果他们已经为此做了一个噱头,那么他们可以在这里分享,这样像我这样的人就会受益。谢谢你。
php - 获取 PHP/MySql 中约束错误的键名?
如果我尝试执行由于键约束错误而失败的插入,有没有一种方法可以在不对错误文本进行字符串解析的情况下获取键的名称?
我已经知道错误代码是 1062;我想找出哪个键约束失败:)
java - org.hibernate.exception.ConstraintViolationException:无法执行 JDBC 批量更新
尽管数据已成功插入,但我得到了下面提到的堆栈跟踪。
请注意:
a) 我的数据库目前没有记录 b) 数据成功插入数据库。
在这里,我试图保留一个包含两个参加者对象的事件对象。就这些。
我的测试班:
事件.hbm.xml:
休眠.cfg.xml