ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

UPDATE в mysql
  #1  
Старый 21.09.2007, 12:00
Micr0b
Участник форума
Регистрация: 14.01.2006
Сообщений: 242
Провел на форуме:
2630617

Репутация: 245
Отправить сообщение для Micr0b с помощью ICQ
По умолчанию UPDATE в mysql

Нехотелось создавать тему, вопрос маленький =\

Мне нужно зделать выборку с упдейтом. Тоись занести в БД обновленые даные..

Проблема такова когда делаю запрос:

UPDATE `table` SET ...... WHERE ips='$ip';

то тогда обновляюця в БД столбцы где есть одинаковые айпи..

Мне нужно зделать одновление по ip и по последньому id
Пробвал зделать так:
UPDATE `table` SET ...... WHERE ips='$ip', max(id);
но ошыбка.. хелп ми))
 
Ответить с цитированием

  #2  
Старый 21.09.2007, 12:22
Joker-jar
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме:
4172659

Репутация: 646


Отправить сообщение для Joker-jar с помощью ICQ
По умолчанию

UPDATE `table` SET ...... WHERE ips='$ip' and id=(select+max(id)+from+table);

Может как-нибудь так? Хотя наверное можно как то попроще
 
Ответить с цитированием

  #3  
Старый 21.09.2007, 12:22
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

А если сначала сделать:

Цитата:
SELECT MAX(id) FROM some_table WHERE ips='...' GROUP BY ips ORDER BY id ASC
а уже потом:

Цитата:
UPDATE some_table SET ... WHERE id='...'
З.Ы. Джок, если у него четёрка на хосте, сложный запрос не пройдёт.

Последний раз редактировалось groundhog; 21.09.2007 в 12:25..
 
Ответить с цитированием

  #4  
Старый 21.09.2007, 12:56
guest3297
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме:
3887520

Репутация: 2996


По умолчанию

подзапросы рабтают с 4.1 версии.
 
Ответить с цитированием

  #5  
Старый 22.09.2007, 10:33
Micr0b
Участник форума
Регистрация: 14.01.2006
Сообщений: 242
Провел на форуме:
2630617

Репутация: 245
Отправить сообщение для Micr0b с помощью ICQ
По умолчанию

спасиб! совсем забыл о подзапросах.. спс
 
Ответить с цитированием

  #6  
Старый 22.09.2007, 12:13
xMash
Новичок
Регистрация: 19.09.2007
Сообщений: 17
Провел на форуме:
73734

Репутация: 9
По умолчанию

а так:
UPDATE table SET ...... WHERE ips='$ip' ORDER BY id DESC LIMIT 1
 
Ответить с цитированием

  #7  
Старый 23.09.2007, 11:39
xMash
Новичок
Регистрация: 19.09.2007
Сообщений: 17
Провел на форуме:
73734

Репутация: 9
По умолчанию

…или, даже лучше, так:
Код:
UPDATE table SET ...... WHERE ips=last_insert_id()
 
Ответить с цитированием

  #8  
Старый 23.09.2007, 15:25
fucker"ok
Познавший АНТИЧАТ
Регистрация: 21.11.2004
Сообщений: 1,137
Провел на форуме:
2487541

Репутация: 761


По умолчанию

UPDATE `table` SET ...... WHERE ips='$ip', id=max(id);
 
Ответить с цитированием

  #9  
Старый 24.09.2007, 09:46
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

Цитата:
... WHERE ips='$ip', id=max(id);
fucker"ok, разве такая конструкция доспустима? Выражения условий должны объединяться логическими операторам (OR, AND EXISTS, etc.)
 
Ответить с цитированием

  #10  
Старый 24.09.2007, 09:58
xMash
Новичок
Регистрация: 19.09.2007
Сообщений: 17
Провел на форуме:
73734

Репутация: 9
По умолчанию

Цитата:
Сообщение от groundhog  
fucker"ok, разве такая конструкция доспустима? Выражения условий должны объединяться логическими операторам (OR, AND EXISTS, etc.)
тем более что об этом говорится в первом посте
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP, PERL, MySQL, JavaScript 5 28.12.2006 18:26
SQL injection в MySql сервере версии 3,x bandera Чужие Статьи 3 04.06.2006 16:17
Общие Рекомендации Защиты (MySQL и SQL Web-интерфейс) k00p3r Чужие Статьи 0 13.06.2005 11:22
Защищаем MySql. Шаг за шагом k00p3r Чужие Статьи 0 13.06.2005 11:18



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


Быстрый переход




ANTICHAT.XYZ