我有一个脚本,它以编程方式创建用户,以便与旧数据库同步。一段时间以来,它一直在很好地投入。现在突然间它在尝试插入用户时因重复键错误而开始出错。确切的错误是:
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)
答案 0 :(得分:1)
您必须使用user_save功能。
例如新闻用户:
$user = user_save( null, array( 'name' => 'the name' , 'mail' => 'the user mail'));
答案 1 :(得分:0)