Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удаление значений
 
 автор: LO   (23.01.2006 в 15:43)   письмо автору
 
 

При запросе

delete  FROM 'table' WHERE id='267' and id='263'

должны удалятся записи с id 267 и 263, но они не удаляются.
Какая у меня ошибка?
P.S.
если я удаляю по одному, то запись удаляется

   
 
 автор: ZC   (23.01.2006 в 16:06)   письмо автору
 
   для: LO   (23.01.2006 в 15:43)
 

Ну а вы удаляйте по отдельности ))

   
 
 автор: WebTech   (23.01.2006 в 16:37)   письмо автору
 
   для: LO   (23.01.2006 в 15:43)
 

Попробуйте delete FROM 'table' WHERE (id=267 and id=263). Хотя я думаю, что это не играет рояли.
Интересно, а почему так? В документации к мускулу написано, что запрос типа
DELETE FROM table WHERE expr
должен удалять ВСЕ записи из таблицы удовлетворяющие критерию заданному в предложении WHERE expr
Кто-нибудь может что-нибудь подсказать?

   
 
 автор: Евгений Петров   (23.01.2006 в 17:25)   письмо автору
 
   для: LO   (23.01.2006 в 15:43)
 

Замените and на or
id не может быть одновременно равен 267 и 263
DELETE  FROM 'table' WHERE id='267' OR id='263'

   
 
 автор: Полный Чайник   (23.01.2006 в 18:00)   письмо автору
 
   для: Евгений Петров   (23.01.2006 в 17:25)
 

Я конечно не профессионал, а действительно чайник.
Но мне почему то кажется, что:
263 and 267 - не удалит ничего
263 or 267 удалит ДВЕ записи с id 263 и 267

   
 
 автор: Евгений Петров   (23.01.2006 в 18:42)   письмо автору
 
   для: Полный Чайник   (23.01.2006 в 18:00)
 

Так точно!

   
 
 автор: WebTech   (23.01.2006 в 18:26)   письмо автору
 
   для: Евгений Петров   (23.01.2006 в 17:25)
 

LO, ну как? Мне кажется, что если стоит OR, то будет удалена какая то одна из записей: 267 либо 263, но никак не обе сразу.
Самому чего-то лень проверять :-)

   
 
 автор: Евгений Петров   (23.01.2006 в 18:42)   письмо автору
 
   для: WebTech   (23.01.2006 в 18:26)
 

Разжовываю на пальцах:
+-----+------+
| id  | Data |
+-----+------+
| 262 | ...  | (id = 263 ИЛИ id = 267) - НЕТ!!!
| 263 | ...  | (id = 263 ИЛИ id = 267) - да!!! id = 263
| 264 | ...  | (id = 263 ИЛИ id = 267) - НЕТ!!!
| 265 | ...  | (id = 263 ИЛИ id = 267) - НЕТ!!!
| 266 | ...  | (id = 263 ИЛИ id = 267) - НЕТ!!!
| 267 | ...  | (id = 263 ИЛИ id = 267) - Да!!! id = 267
| 268 | ...  | (id = 263 ИЛИ id = 267) - НЕТ!!!
+-----+------+

+-----+------+
| id  | Data |
+-----+------+
| 262 | ...  | (id = 263 И id = 267) - НЕТ!!!
| 263 | ...  | (id = 263 И id = 267) - НЕТ!!! id = 263 НО id != 267
| 264 | ...  | (id = 263 И id = 267) - НЕТ!!!
| 265 | ...  | (id = 263 И id = 267) - НЕТ!!!
| 266 | ...  | (id = 263 И id = 267) - НЕТ!!!
| 267 | ...  | (id = 263 И id = 267) - НЕТ!!! id = 267 НО id != 263
| 268 | ...  | (id = 263 И id = 267) - НЕТ!!!
+-----+------+

   
 
 автор: WebTech   (23.01.2006 в 18:55)   письмо автору
 
   для: Евгений Петров   (23.01.2006 в 18:42)
 

Понятно, спасибо, Евгений :-). Только не "разжовываю", а "разжевываю".

(Извините, я напился :-( )

   
 
 автор: Евгений Петров   (23.01.2006 в 19:00)   письмо автору
 
   для: WebTech   (23.01.2006 в 18:55)
 

Мне до О было ближе чем до Е(Ё) :)

   
 
 автор: WebTech   (23.01.2006 в 19:12)   письмо автору
 
   для: Евгений Петров   (23.01.2006 в 19:00)
 

Понимаю :-) :-) :-)

   
 
 автор: LO   (24.01.2006 в 12:26)   письмо автору
 
   для: WebTech   (23.01.2006 в 19:12)
 

Я сделала по другому

delete from table
where a_id IN (263, 267)

так все работает

   
 
 автор: WebTech   (24.01.2006 в 12:56)   письмо автору
 
   для: LO   (24.01.2006 в 12:26)
 

IN в общем то и есть OR :-)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования