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

Discussion in 'Настройка сервера (Apache, PHP, MySQL и phpMyAdmin' started by Вадим91, Oct 30, 2018.

  1. Offline

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

    Joined:
    Oct 30, 2018
    Messages:
    10
    Likes Received:
    0
    Joomla 3.8.13 joomshopping 4.18.2
    Появилась ошибка внезапно, до этого все было нормально

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

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

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

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

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

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

     
  2.  
  3. Best Answer:
    Post #9 by Вадим91, Nov 1, 2018
  4. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Включи автоинкремент для поля user_id
     
  5. Offline

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

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

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    В Структура, а потом в операциях смотри счетчик автоинкремента .
    --- добавлено: Oct 31, 2018, первое сообщение размещено: Oct 30, 2018 ---
    В этой таблице поле user_id не первичное и без автоинкремента.
    А еще это поле есть в _jshopping_orders
     
  7. Offline

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

    Joined:
    Oct 30, 2018
    Messages:
    10
    Likes Received:
    0
    --- добавлено: Oct 31, 2018 ---
    [QUOTE="Вадим91, post: 192328, member: 131935"][/QUOTE]Я сейчас
    --- добавлено: Oct 31, 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. Это повлияет на работу сайта или нет?
     

    Attached Files:

  8. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Мне в phpmyadmin проще работать. Сделай бекап файлов и дамп БД, а потом тестируй. Я думаю трабл не с БД.
    А на стандартном шаблоне ЖШ пробовал ?
     
  9. Offline

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

    Joined:
    Oct 30, 2018
    Messages:
    10
    Likes Received:
    0
    тестировал. ошибка на месте. При оформлении заказа после авторизации все нормально ошибки нет на всех шаблонах. А, только стоит оформить без авторизации ошибка на всех шаблонах.
     
  10. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Ссылку на сайт ? Установить в папку рабочего сайта чистую Джумла с ЖШ и подключить старую БД.
     
  11. Offline

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

    Joined:
    Oct 30, 2018
    Messages:
    10
    Likes Received:
    0
    Best Answer
    Да попробую так. В принципе думаю без разницы если даже и на этом сайте. Архив файлов и базу сохранить. Потом заменить базу и попробовать уже с изменениями. Если будет ошибка, значит будет. Короче методом научного тыка проверим на практике. Если заглючит, переиграю в исходное. Раньше были проблемы с другими магазинами, в основном из за конфликта скриптов, с корректировкой базы не сталкивался. Ошибка появилась после профработ на хостинге. Хоть они и говорят, что сайтов они не касались, думаю все таки от этого. Но ничего, не первая проблема, бывало и похуже. За помощь спасибо. Попробую и отпишусь. Как показывает интернет, подобные ошибки часто встречаются у joomshopping и joomla. Методика решения будет полезна для всех.
    --- добавлено: Nov 1, 2018, первое сообщение размещено: Oct 31, 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 необходимо протестировать дополнительно
     

Share This Page

Loading...