Drupal:键2查询的重复条目'':

时间:2011-01-13 21:35:28

标签: mysql sql drupal insert mysql-error-1062

我有一个脚本,它以编程方式创建用户,以便与旧数据库同步。一段时间以来,它一直在很好地投入。现在突然间它在尝试插入用户时因重复键错误而开始出错。确切的错误是:

Duplicate entry 'user@email.com' for key 2 query: INSERT INTO users (name, mail, status, pass, created).....

如果我在那里尝试查询,我可以直接从mysql控制台复制此错误。所以这就是问题变得奇怪的地方。条目'user@email.com'在用户表中不存在于任何位置。因此,我对如何生成重复的条目错误感到困惑,因为数据库中没有包含此电子邮件地址的记录。

这里是mysql控制台的直接复制/粘贴。已更改敏感数据以保护用户

mysql> INSERT INTO users (name, mail, status, pass, created) VALUES ('username', 'user@email.com', 1, 'encryptedpassword', 1294946026);

ERROR 1062 (23000): Duplicate entry 'user@email.com' for key 2

mysql> select * from users where mail='user@email.com';

Empty set (0.00 sec)

2 个答案:

答案 0 :(得分:1)

您必须使用user_save功能。

例如新闻用户:

$user = user_save( null, array( 'name' => 'the name' , 'mail' => 'the user mail'));

答案 1 :(得分:0)

  • 导出表格并在本地重新创建,然后再次尝试插入。
  • 也许有编码问题?尝试搜索具有相同域的所有用户,以查看是否有类似的条目。
  • 使用Devel模块的查询表来查看Drupal中实际发生的情况。