форум vBSupport.ru > vBulletin > Old vB versions (3.0.x & 2.x.x) > vBulletin 3.7.x > vBulletin [3.7] Troubleshooting and Problems
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
perfectsense
Простоузер
Default [Решение] Проблема Duplicate entry при регистрации
1

Всем привет. Вот решил одну проблемку, может кому-то поможет.
Суть проблемы: при регистрации нового пользователя после нажатия сабмита вываливается стандартное вбуллетиновское окошко ошибки БД. При этом новый юзер в базу попадает, но он, во-первых, про это не знает, т.к. страница не обновляется, а во-вторых не может постить на форуме, т.к. письмо со ссылкой активации ему не отправляется. Админу на почту при этом приходят такие письма:
Database error in vBulletin 3.7.4:

Invalid SQL:
INSERT INTO usertextfield
        (userid)
VALUES
        (24036);

MySQL Error   : Duplicate entry 'ХХХХХ' for key 1
Error Number  : 1062
Request Date  : Sunday, May 24th 2009 @ 09:52:23 AM
Error Date    : Sunday, May 24th 2009 @ 09:52:23 AM
Script        : http://www.ххххххх.ru/forum/register.php?do=addmember
Referrer      : http://www.ххххххх.ru/forum/register.php?do=register
IP Address    : хх.хх.хх.хх
Username      : ххххххххххх
Classname     : vB_Database
MySQL Version :

Решение: в таблице usertextfield найти самое высокое значения поля userid, например 1230. Далее, в таблице user найти пользователя с самым высоким значением userid и изменить это значение на число, большее чем 1230. Подойдет и 1231, и 10000 и т.д.
Сохранить изменения. Теперь регистрация работает и письма при регистрации отправляются.

Заодно, вопрос к гуру: какие косяки могут возникнуть из-за такого решения?
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Serberg
Специалист
 
Serberg's Avatar
Default
0

perfectsense, такой косяк не мог возникнуть сам по себе. это сообщение говорит о том что при регистрации вв бзе дублируется уникальное поле (оно же ID пользователя). Это поле не может повторяться... а утебя почемуто повторяется.

Quote:
Originally Posted by perfectsense
Заодно, вопрос к гуру: какие косяки могут возникнуть из-за такого решения?
Т.к. я не гуру отвечать на этот вопрос не буду )))
А вообще это поле не должно изменяться вручную. Это поле заполняется автоматически с увеличением значения на 1.
 
 
perfectsense
Простоузер
Default
0

Это как раз все понятно. Я думаю, что косяк возник при импорте БД. Просто раньше форум работал на связке какого-то застарелого XOOPS и IPB 1.3 Все это 5 лет не обновлялось. Проблема была в том, что юзеры хранились не в БД IPB, а в БД XOOPS. Вобщем, таблицы для импорта я вручную подготавливал, переименовывал поля, какие-то удалял, добавлял. Вобщем, перенес. Но проблема с регистрацией обнаружилась через месяц после запуска на булке. Так что вот...
 
 
WolfHunter
Простоузер
Default
0

у меня такая-же проблема, появилась думаю после бэкапа базы или после обновления счетчиков(в админке)
Последний userid 309, а usertextfield 739. Нехилое отличие!!!! Откуда столько лишнего?????
всем usertextfield присвоен id равный userid, так может просто удалить с 310 по 739?

WolfHunter добавил 12.05.2010 в 22:28
в поле userid с номером 326(хотя мой 2), обноружил в поле signature свою подпись, которая была с пол года назад. Вообщем решил всё лишнее удалить.

WolfHunter добавил 12.05.2010 в 22:49
млин, в usernote таже фигня ((((( 828 строк

Last edited by WolfHunter : 05-12-2010 at 10:49 PM. Reason: Добавлено сообщение
 
 
Yoskaldyr
Специалист
Default
0

WolfHunter, типичное следствие неполного дампа БД. Или не полного импорта полного дампа БД.
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 09:56 AM.


Powered by vBulletin® Version x.X.x
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...