Вопросы

суть: аккаунт должен перенесён в другую таблицу и удалиться из нынешней

format(MYSQL_GLOBAL, sizeof(MYSQL_GLOBAL), "INSERT INTO `delacc` SELECT * FROM `accounts` WHERE `nickname` = '%s'", params[0]);
mysql_function_query(MySQLGo, MYSQL_GLOBAL, true"""");
format(MYSQL_GLOBAL, sizeof(MYSQL_GLOBAL), "DELETE FROM `accounts` WHERE `nickname` = '%s'", params[0]);
mysql_query(MySQLGo, MYSQL_GLOBAL);

не срабатывает запрос и в mysql_log ошибка: [ERROR] CMySQLQuery::Execute[] - (error #1136) Column count doesn't match value count at row 1

Поделиться сообщением


Ссылка на сообщение

8 ответов на этот вопрос

  • 0
1 час назад, trevison сказал:

тогда нельзя будет зарегистрироваться под этим аккаунтом

 

С чего бы это? Просто будете рассматривать два атрибута для того, чтобы понять, есть ли валидный зарегистрированный аккаунт с некоторым именем, и извлекать ID найденного аккаунта. И именно по полученному ID в дальнейшем работать с аккаунтом.

 

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

 

изображение_2023-08-24_214440576.png

 

И, соответственно, для того, чтобы удалить аккаунт с ID 10, будет достаточно создать в таблице deleted_accounts новую запись, записав в поле account_id значение 10. А для того, чтобы проверить, есть есть ли валидный аккаунт с некоторым именем, найдите все ID аккаунтов, которые имеют искомое имя, и проверьте, точно ли есть хотя бы один ID, отсутствующий в таблице deleted_accounts.

Поделиться сообщением


Ссылка на сообщение
  • 1

@trevison, в чем целесообразность того, что вы пытаетесь сделать?

Поделиться сообщением


Ссылка на сообщение
  • 0

удаление аккаунта с возможностью дальнейшего восстановления

аккаунт уходит в резервную таблицу, а с основной таблицы аккаунт удаляется

появляется возможность восстановить удалённый аккаунт

Поделиться сообщением


Ссылка на сообщение
  • 0

@trevison, опять тот же вопрос: в чем целесообразность? Зачем удалять аккаунт из основной таблицы? Создавайте новое поле в основной таблице, в котором храните признак удаленного аккаунта. 

Поделиться сообщением


Ссылка на сообщение
  • 0

тогда нельзя будет зарегистрироваться под этим аккаунтом

в планах, потом сделать так, чтобы при восстановлении аккаунта выбирался новый никнейм, если никнейм уже заняли у удалённого аккаунта

Поделиться сообщением


Ссылка на сообщение
  • 0

хороший вариант реализации, но если так делать, то нужно будет ещё очень много кода переписывать, где проверка идёт на ник ( например: /offjail /offwarn /offmute и всё оффлайн взаимодействие с игроком )

Поделиться сообщением


Ссылка на сообщение
  • 0

@trevison, с таким подходом далеко не уедете.

Поделиться сообщением


Ссылка на сообщение
  • 0

хорошо, спасибо вам за совет по реализации

тему можно закрывать

Отредактировано пользователем trevison

Поделиться сообщением


Ссылка на сообщение
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От Illya_Zaxatniy
      Доработка мода Samp-Rp
      Скачать файл Привет, у меня давно валяется данный мод который дорабатывался мною в 22  году, решил его выставить на продажу, поскольку деньги - не лишние.
       
      Ниже прикрепляю лог доработок а также айпи адрес для теста
      также к моду(после приобретения) прилагается список багов, найденных, они не значительные но имеются
       
      лог доработок: 
      1. Вырезана /alevel 2. Теперь чат администрации для всех общий 3. Вырезана команда /serverbonus 4. Теперь администрация от 8 уровня не отображается в /admins и при авторизации в панели администратора 5. Убрал бонус 6. Теперь при авторизации в панели администратора не пишет что ввёл неверный пароль 7. Переписал регистрацию 8. Теперь проверка на блокировку идёт при заходе на сервер, не после ввода пароля 9. Переписал авторизацию 10. Адрес электронной почты при регистрации теперь проверяется по всем параметрам 11. Реферальная система при регистрации теперь проверяет ник или промокод 12. Сделал выбор скинов на текстдравах 13. Переписал /makeleader в диалог (+ теперь выдаются женские скины) 14. Вырезана /fractionid 15. Вырезан ограничитель скорости 16. Теперь при выдаче предупреждения или бане указывается фракция и ранг игрока (Если он состоит в организации) 17. Теперь командой /spawn можно спавнить других игроков 18. Отредактирована команда /recon 19. Вырезан анти-БХ 20. Переписана команда /invite (+ добавлены женские скины) 21. Из главного меню вырезана система слива денег 22. Сделана система телепорта по метке на карте для администрации 23. Переписал систему навигатора (/gps) 24. Переписал /tp (Теперь он работает через навигатор) 25. /mute теперь выдаётся по минутам 26. Добавил команду /tmute для администрации с 1 уровня - просмотр времени до снятия мута у игрока 27. Изменена команда /pm 28. Для начала гонок и пейнтбола теперь достаточно 2 участников 29. Убрана команда ахелп, будет написана новая 30. Теперь в команде присон надо указывать причину 31. Добавлена команда /forum для оповещения об открытия заявок на лидерство на форуме 32. Новый логотип 33. Добавлена команда /rmute для выдачи бана репорта 34. Написана система для тестеров     АЙПИ ДЛЯ ТЕСТА И ПАРОЛЬ: IP 195.18.27.226:1235 PASSWORD : 1   ДЛЯ СВЯЗИ ВК: https://vk.com/iilyazaxodnoy       Добавил Illya_Zaxatniy Добавлено 30.12.2024 Категория Моды Автор @illyazaxodnoy  
    • От Illya_Zaxatniy
      Привет, у меня давно валяется данный мод который дорабатывался мною в 22  году, решил его выставить на продажу, поскольку деньги - не лишние.
       
      Ниже прикрепляю лог доработок а также айпи адрес для теста
      также к моду(после приобретения) прилагается список багов, найденных, они не значительные но имеются
       
      лог доработок: 
      1. Вырезана /alevel 2. Теперь чат администрации для всех общий 3. Вырезана команда /serverbonus 4. Теперь администрация от 8 уровня не отображается в /admins и при авторизации в панели администратора 5. Убрал бонус 6. Теперь при авторизации в панели администратора не пишет что ввёл неверный пароль 7. Переписал регистрацию 8. Теперь проверка на блокировку идёт при заходе на сервер, не после ввода пароля 9. Переписал авторизацию 10. Адрес электронной почты при регистрации теперь проверяется по всем параметрам 11. Реферальная система при регистрации теперь проверяет ник или промокод 12. Сделал выбор скинов на текстдравах 13. Переписал /makeleader в диалог (+ теперь выдаются женские скины) 14. Вырезана /fractionid 15. Вырезан ограничитель скорости 16. Теперь при выдаче предупреждения или бане указывается фракция и ранг игрока (Если он состоит в организации) 17. Теперь командой /spawn можно спавнить других игроков 18. Отредактирована команда /recon 19. Вырезан анти-БХ 20. Переписана команда /invite (+ добавлены женские скины) 21. Из главного меню вырезана система слива денег 22. Сделана система телепорта по метке на карте для администрации 23. Переписал систему навигатора (/gps) 24. Переписал /tp (Теперь он работает через навигатор) 25. /mute теперь выдаётся по минутам 26. Добавил команду /tmute для администрации с 1 уровня - просмотр времени до снятия мута у игрока 27. Изменена команда /pm 28. Для начала гонок и пейнтбола теперь достаточно 2 участников 29. Убрана команда ахелп, будет написана новая 30. Теперь в команде присон надо указывать причину 31. Добавлена команда /forum для оповещения об открытия заявок на лидерство на форуме 32. Новый логотип 33. Добавлена команда /rmute для выдачи бана репорта 34. Написана система для тестеров     АЙПИ ДЛЯ ТЕСТА И ПАРОЛЬ: IP 195.18.27.226:1235 PASSWORD : 1   ДЛЯ СВЯЗИ ВК: https://vk.com/iilyazaxodnoy      
    • От Mason
      Всех Приветствую! У меня есть вот такая дверь, мне нужно сделать так чтобы она открывалась на кнопку, дело в том что я знаю про функцию MoveObject и даже попытался сделать так чтобы она открывалась, но когда я захожу в игру и нажимаю на кнопку то ничего не происходит.
      На всякий случай прикладываю код