Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для Paradox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.06.2015
    Адрес
    Запорожье
    Сообщений
    117
    Репутация:
    1 ±

    Проверка на то если ли данные [MySQL]

    Доброе время суток.

    В общем такой вот вопрос, пишу системы актеров, домов и т. д.
    Суть в чем, поскольку системы динамические, все добавляется из игры.
    Так вот, как правильнее будет сделать проверку на то, есть ли уже в базе данные.

    Что бы не было такого, что ID 1 есть в базе и ты с этим же ID'ом создал еще одного актера, который по сути будет только в игре,
    в консоле же будет ошибка о том что в базе данных занят уже этот ID.

    В общем, как быть?

    Версия MySQL R39-6.

  2. #2
    Аватар для Pawn.Dima
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.04.2020
    Сообщений
    37
    Репутация:
    0 ±
    Через iterator тема есть уже на Форосе почитайте и ваша проблема больше не будет проблемой)

  3. #3
    Аватар для MassonNN
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.03.2018
    Адрес
    Москва
    Сообщений
    129
    Репутация:
    6 ±
    Используй ID как auto increment

  4. #4
    Аватар для Shaolinka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.01.2020
    Сообщений
    69
    Репутация:
    8 ±
    при создании актёра, присваивай ему sql id, который выведет cache_insert_id(функция, которая возвращает последний доступный ИД). Ну, а если проверку, то вот:
    PHP код:
    new fmt_str[] = "SELECT * FROM имятаблицысактёрами WHERE id=%d",
         
    result_str[((sizeof fmt_str) + ((- 11)) + 1))];
    mysql_format(идсоединенияresult_strsizeof result_strfmt_strcache_insert_id());
    mysql_tquery(идсоединенияresult_str);

    new 
    rows cache_num_rows();

    if(
    rows)
       return print(
    "Данный ид занят!");

    else
         print(
    "всё норм, работаем девачки"); 
    Можно ещё с итератором замутить, при создании получать свободный слот(Iter_Free), потом добавлять его в итератор. Ну, а для проверки юзать Iter_Contains, дабы проверить наличие указанного ИД в итераторе.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •