powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
10 сообщений из 10, страница 1 из 1
Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
    #39525369
Nteee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, сразу скажу что я не силен в MySql и если что-то получается то только методом проб и ошибок, поэтому пишу сюда т.к даже не знаю с какой стороны подойти.

В базе есть 3 столбца ip (PRIMARY VARCHAR) , time (INT), name (VARCHAR)

Мне нужно одним запросом сделать проверку и запрос если проверка прошла.
Если в базе есть ip (192.168.0.1) и time >= 1502324324 то нужно вернуть 0 (сообщить программе), если условие не прошло проверку то нужно изменить time = 15 и name - 'Коля'.

и если позволите 2 задачка:

Если в базе есть ip (192.168.0.1) и time < 1502324324 то нужно удалить эту запись из таблицы.

Очень рассчитываю на конкретную помощь в примере и желательно с пояснением. Спасибо.
...
Рейтинг: 0 / 0
Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
    #39525370
Nteee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поправлю себя, говоря "базе" - имел введу в таблице.
...
Рейтинг: 0 / 0
Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
    #39525374
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nteee,


NteeeЕсли в базе есть ip (192.168.0.1) и time < 1502324324 то нужно удалить эту запись из таблицы.

delete from table 1
where ip = '192.168.0.1'
and time < 1502324324

NteeeЕсли в базе есть ip (192.168.0.1) и time >= 1502324324 то нужно вернуть 0 (сообщить программе), если условие не прошло проверку то нужно изменить time = 15 и name - 'Коля'.

..изменить в КАКОЙ записи?
...
Рейтинг: 0 / 0
Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
    #39525379
Nteee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В записи которая соответствует ip (192.168.0.1) - это уникальная запись в таблице.
...
Рейтинг: 0 / 0
Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
    #39525380
Nteee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таблице clients есть 3 поля: ip (PRIMARY - уникальное), name, time
Нужно отправить запрос так чтоб он делал следующее.. Если в таблице есть ip = 192.168.0.1 и time > 12345 то ничего не делать и вернуть ответ (Callback) = 0, а если условие выполняется то нужно изменить time на 54321 и изменить name = Коля, после чего вернуть ответ (Callback)= 1;

Необходимо учесть .. что в таблице может быть такой ip, а может и не быть... поэтому важно учесть особенности UPDATE и INSERT при построении запроса. (ON DUPLICATE KEY UPDATE - поможет)

Очень прошу помочь опытных пользователей. Спасибо.

Вот я на одном форуме по php задал вопрос может тут я более понятно объяснил цель!
...
Рейтинг: 0 / 0
Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
    #39525382
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NteeeВ таблице clients есть 3 поля: ip (PRIMARY - уникальное), name, time
Нужно отправить запрос так чтоб он делал следующее.. Если в таблице есть ip = 192.168.0.1 и time > 12345 то ничего не делать и вернуть ответ (Callback) = 0, а если условие выполняется то нужно изменить time на 54321 и изменить name = Коля, после чего вернуть ответ (Callback)= 1;

Необходимо учесть .. что в таблице может быть такой ip, а может и не быть... поэтому важно учесть особенности UPDATE и INSERT при построении запроса. (ON DUPLICATE KEY UPDATE - поможет)

Очень прошу помочь опытных пользователей. Спасибо.

Вот я на одном форуме по php задал вопрос может тут я более понятно объяснил цель!


ок, где то близко, но все равно не 100%. Еше раз --
у вас 2 или 3 варианта или сколько?

1. 192.168.0.1 есть и time > 12345 (имя не важно) -- вернуть (0)
2. 192.168.0.1 есть и time > 12345 (имя не важно)-- апдате тиме 12345 и имя коля
3. записи 192.168.0.1 нет -- делаем что?
4. есть несколько записей с 192.168.0.1 -- делаем что?

связана ли задача 2 с задачей 1?
...
Рейтинг: 0 / 0
Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
    #39525383
Nteee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
3. записи 192.168.0.1 нет -- делаем что? - То мы добавляем ее с указанием time 34321 и name - Коля
4. есть несколько записей с 192.168.0.1 -- делаем что? - а вот такого быть не должно т.к это уникальное поле.. и в базе помечено как уникальное - PRIMARY

Задача 1 и задача 2 не связаны между собой.
...
Рейтинг: 0 / 0
Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
    #39525384
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nteee3. записи 192.168.0.1 нет -- делаем что? - То мы добавляем ее с указанием time 34321 и name - Коля
4. есть несколько записей с 192.168.0.1 -- делаем что? - а вот такого быть не должно т.к это уникальное поле.. и в базе помечено как уникальное - PRIMARY

Задача 1 и задача 2 не связаны между собой.

...нет одним ударом такую задачу на MуSQL не решить
(на СКл Сервере -- можно).

Варинат решения -- несколько запросов в трансакции:

* начать трансакцию
* INSERT IGNORE .... -- будет чистая вставка при отсутсвии ИП
* UPDATE TABLE tbl
set time = 12345,
name = 'Kolia'
WHERE ip = '127.0.0.1'
and time < 12345
* commit
...
Рейтинг: 0 / 0
Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
    #39525444
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IP лучше хранить в INT: SELECT INET_ATON('192.168.2.1');
и обратно: SELECT INET_NTOA(INET_ATON('192.168.2.1'));
а вот время лучше хранить в TIMESTAMP или DATE
...
Рейтинг: 0 / 0
Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
    #39525446
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в пхп ф-я ip2long()
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Если есть в базе соответствия то вернуть 0, если нет то выполнить запрос.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]