HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

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

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

sql запрос
  #1  
Старый 30.01.2009, 19:45
barnaki
Познающий
Регистрация: 02.11.2008
Сообщений: 87
Провел на форуме:
93223

Репутация: 14
По умолчанию sql запрос

помогите плиз постоить sql запросу
вообщем есть 2 таблицы из которых нужно 1 запрос удалить из каждой по одной строке . они совпадают по столбцам id_msg и msg_id . это ключи.
delete from guest,answers where id_msg=msg_id=2; не работает . но удалять надо по 2
или любой другой цифре которую сюда можно вписать .
 
Ответить с цитированием

  #2  
Старый 30.01.2009, 19:52
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме:
5111568

Репутация: 2399


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

Код:
DELETE FROM `guest`, `answers` WHERE `id_msg` = '2' AND `msg_id` = '2' LIMIT 1;
 
Ответить с цитированием

  #3  
Старый 30.01.2009, 20:08
barnaki
Познающий
Регистрация: 02.11.2008
Сообщений: 87
Провел на форуме:
93223

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

не работает можно без Limit
 
Ответить с цитированием

  #4  
Старый 31.01.2009, 16:46
barnaki
Познающий
Регистрация: 02.11.2008
Сообщений: 87
Провел на форуме:
93223

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

вот как надо было
DELETE FROM guest,answers USING guest INNER JOIN answers WHERE guest.id_msg = answers.msg_id AND answers.msg_id =2;
 
Ответить с цитированием

  #5  
Старый 01.02.2009, 01:24
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

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

JOIN сильно будет затормаживать работу. особенно если отношния достаточно большие. М.б. имеет смысл сделать нечто вроде такого:
Код:
start transaction;
SET @id = 5;
DELETE .... WHERE ... = @id;
DELETE .... WHERE ... = @id;
commit;
 
Ответить с цитированием

  #6  
Старый 01.02.2009, 14:53
barnaki
Познающий
Регистрация: 02.11.2008
Сообщений: 87
Провел на форуме:
93223

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

нет я одним запросом . я тоже думал . но это всего лишь гостевая. и связи не такие сложные чтобы разбивать его на несколько запросов
 
Ответить с цитированием

  #7  
Старый 01.02.2009, 16:19
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

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

2 barnaki
Извини меня за сленг) Под словом "отношение" в бд понимается таблица, а не связь
 
Ответить с цитированием

  #8  
Старый 07.02.2009, 14:41
barnaki
Познающий
Регистрация: 02.11.2008
Сообщений: 87
Провел на форуме:
93223

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

страшно спросить как называется сама база . но любопытство сильнее .
 
Ответить с цитированием

  #9  
Старый 07.02.2009, 16:05
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

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

barnaki Так и обзывается - база... Ну либо схема
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ