Ошибка 1062 Duplicate entry '0' for key 'user_id' при регистрации joomshopping

Тема в разделе "Настройка сервера (Apache, PHP, MySQL и phpMyAdmin", создана пользователем Вадим91, 30.10.2018.

  1. Offline

    Вадим91 Недавно здесь

    Регистрация:
    30.10.2018
    Сообщения:
    5
    Симпатии:
    0
    Joomla 3.8.13 joomshopping 4.18.2
    Появилась ошибка внезапно, до этого все было нормально

    Проблема возникла после профилактических работ на хостинге, Но инженеры говорят, что эти работы не связаны сфайлами и базами. Похоже правда, так как у меня еще есть сайты в этом аккаунте и все работают нормально

    После того как заполняется адрес доставки при переходе к следующему шагу выходит ошибка
    1062 Duplicate entry '0' for key 'user_id' (то есть база данных имеет уже пользователя с таким id)

    Интересно, что если сначала зарегистрироваться на сайте через стандартную регистрацию и зайти в аккаунт, проблемы с оформлением заказа нет

    Пробовал разные варианты решений
    - отключал сторонние плагины
    - обновлял расширения JS
    - перезалил базу
    - менял в базе insert into на replace

    Проблему не решил.

    Может кто то встречался с такой проблемой, хотелось бы получить мнение специалиста. Заранее благодарен за любой совет!!

     
  2.  
  3. Лучший ответ:
    Сообщение #9 от 01.11.2018, автор Вадим91
  4. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 113
    Симпатии:
    643
    Пол:
    Мужской
    Включи автоинкремент для поля user_id
     
  5. Offline

    Вадим91 Недавно здесь

    Регистрация:
    30.10.2018
    Сообщения:
    5
    Симпатии:
    0
    я нашел 2 таблицы user- csdogs_users и csdogs_joomshopping_users. В какой именно. Правильно ли я понимаю что надо сделать это в таблице joomla csdogs_users? И если можно уточните где именно это включается. спасибо
    --- добавлено: 30.10.2018 ---
    Сейчас проверил в joomla -AUTO_INCREMENT стоит галка, в joomsjopping то же самое. Смотрел в ОПЕРАЦИЯХ. Может я не там смотрю?
    --- добавлено: 30.10.2018, первое сообщение размещено: 30.10.2018 ---
    Screenshot-1069.png Screenshot-1069-2.png
     
  6. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 113
    Симпатии:
    643
    Пол:
    Мужской
    В Структура, а потом в операциях смотри счетчик автоинкремента .
    --- добавлено: 31.10.2018, первое сообщение размещено: 30.10.2018 ---
    В этой таблице поле user_id не первичное и без автоинкремента.
    А еще это поле есть в _jshopping_orders
     
  7. Offline

    Вадим91 Недавно здесь

    Регистрация:
    30.10.2018
    Сообщения:
    5
    Симпатии:
    0
    --- добавлено: 31.10.2018 ---
    [QUOTE="Вадим91, post: 192328, member: 131935"][/QUOTE]Я сейчас
    --- добавлено: 31.10.2018 ---
    Подскажите правильно ли я нашел решение проблемы.
    скачать базу данных
    найти
    -- Структура таблицы `csdog_jshopping_users`
    CREATE TABLE IF NOT EXISTS `csdog_jshopping_users` (
    `user_id` int(11) NOT NULL,
    и в эту строку добавить AUTO_INCREMENT,

    то есть в результате должно получиться вот так
    CREATE TABLE IF NOT EXISTS `csdog_jshopping_users` (
    `user_id` int(11) NOT NULL AUTO_INCREMENT,


    И еще один вопрос Во всей базе данных я поменял INSERT INTO (по умолчанию) на Replace INTO. Это повлияет на работу сайта или нет?
     

    Вложения:

  8. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 113
    Симпатии:
    643
    Пол:
    Мужской
    Мне в phpmyadmin проще работать. Сделай бекап файлов и дамп БД, а потом тестируй. Я думаю трабл не с БД.
    А на стандартном шаблоне ЖШ пробовал ?
     
  9. Offline

    Вадим91 Недавно здесь

    Регистрация:
    30.10.2018
    Сообщения:
    5
    Симпатии:
    0
    тестировал. ошибка на месте. При оформлении заказа после авторизации все нормально ошибки нет на всех шаблонах. А, только стоит оформить без авторизации ошибка на всех шаблонах.
     
  10. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 113
    Симпатии:
    643
    Пол:
    Мужской
    Ссылку на сайт ? Установить в папку рабочего сайта чистую Джумла с ЖШ и подключить старую БД.
     
  11. Offline

    Вадим91 Недавно здесь

    Регистрация:
    30.10.2018
    Сообщения:
    5
    Симпатии:
    0
    Лучший ответ
    Да попробую так. В принципе думаю без разницы если даже и на этом сайте. Архив файлов и базу сохранить. Потом заменить базу и попробовать уже с изменениями. Если будет ошибка, значит будет. Короче методом научного тыка проверим на практике. Если заглючит, переиграю в исходное. Раньше были проблемы с другими магазинами, в основном из за конфликта скриптов, с корректировкой базы не сталкивался. Ошибка появилась после профработ на хостинге. Хоть они и говорят, что сайтов они не касались, думаю все таки от этого. Но ничего, не первая проблема, бывало и похуже. За помощь спасибо. Попробую и отпишусь. Как показывает интернет, подобные ошибки часто встречаются у joomshopping и joomla. Методика решения будет полезна для всех.
    --- добавлено: 01.11.2018, первое сообщение размещено: 31.10.2018 ---
    Все получилось. Ошибка ушла
    Как и обещал публикую решение
    1. Заходим в базу данных сайта и проверяем пункты структура и операции в таблицах csdogs_users и csdogs_joomshopping_users. В них должно быть прописано AUTO_INCREMENT
    Как правило в csdogs_users атрибут уже прописан, а в csdogs_joomshopping_users -нет
    1.скачиваем базу данных
    2. делаем полный бэкап сайта и базы
    3. открываем базу в Notepad и находим Структуру таблицы `csdog_jshopping_users`
    4. прописываем AUTO_INCREMENT в строках
    - `user_id` ,
    Было `user_id` int(11) NOT NULL ,
    Стало`user_id` int(11) NOT NULL AUTO_INCREMENT,


    - ENGINE=InnoDB DEFAULT CHARSET=utf8;
    Было ENGINE=InnoDB DEFAULT CHARSET=utf8;
    Стало ENGINE=InnoDB AUTO_INCREMENT=539 DEFAULT CHARSET=utf8;
    [B][/B]

    539 - это максимальное количество ID пользователей. Цифру смотрите в в таблице csdogs_users

    5. Сохраняем, загружаем и тестируем.
    Ошибка 1062 Duplicate entry '0' for key 'user_id' должна уйти

    Внимание Решение протестировано только для Duplicate entry '0' for key 'user_id' для исправления других типов ошибок 1069 необходимо протестировать дополнительно
     

Поделиться этой страницей

Загрузка...