Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Delete

3.6K
22 сентября 2003 года
bandy
10 / / 14.08.2003
У меня в таблице есть три записи:

ID Name E-mail
-----------------------
1 Ivan [email]e@mail.com[/email] (1)
2 Ivan [email]e@mail.com[/email] (2)
3 Alex [email]alex@yahoo.com[/email] (3)


Мне надо удалить запись (1):
DELETE * FROM mytable WHERE name='Ivan' AND e-mail='e@mail.com'
Но так удалятся две записи: (1) и (2).
А как удалить только одну запись, не используя AND id=1 или id=2?

:{
265
22 сентября 2003 года
Gauss
975 / / 20.02.2000
Цитата:
Originally posted by bandy
У меня в таблице есть три записи:

ID Name E-mail
-----------------------
1 Ivan [email]e@mail.com[/email] (1)
2 Ivan [email]e@mail.com[/email] (2)
3 Alex [email]alex@yahoo.com[/email] (3)


Мне надо удалить запись (1):
DELETE * FROM mytable WHERE name='Ivan' AND e-mail='e@mail.com'
Но так удалятся две записи: (1) и (2).
А как удалить только одну запись, не используя AND id=1 или id=2?

:{


уникальный ключ надо было ставить, а теперь все, никак, удаляй обе, а потом снова вставляй одну, т.е. операция автоматизируется с трудом

3.6K
22 сентября 2003 года
bandy
10 / / 14.08.2003
Цитата:
Originally posted by Gauss

уникальный ключ надо было ставить, а теперь все, никак, удаляй обе, а потом снова вставляй одну, т.е. операция автоматизируется с трудом


Ключевое поле есть-ID. Есть конструкция SELECT DISTINCT * FROM MyTable. При этом записи не повторяются. Может есть DELETE DISTINCT * FROM MyTable WHERE ...?

265
23 сентября 2003 года
Gauss
975 / / 20.02.2000
Цитата:
Originally posted by bandy

Ключевое поле есть-ID. Есть конструкция SELECT DISTINCT * FROM MyTable. При этом записи не повторяются. Может есть DELETE DISTINCT * FROM MyTable WHERE ...?


нет такой кракозябры я не встречал, если по distinct она показывает только по одной записи то это совсем не значит что она и удалять будет также.
Синтаксис DELETE:
DELETE [FROM] table_name WHERE column_name = 'value'

если тебе очень хочется удалить повторные значения напиши прогу которая будет выводить все повторные значения и предлагать стереть их по Id

239
03 октября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by Gauss

нет такой кракозябры я не встречал, если по distinct она показывает только по одной записи то это совсем не значит что она и удалять будет также.
Синтаксис DELETE:
DELETE [FROM] table_name WHERE column_name = 'value'

если тебе очень хочется удалить повторные значения напиши прогу которая будет выводить все повторные значения и предлагать стереть их по Id



Вы не правы - можно! Ведь есть такой параметр, как TOP n. Значит Delete * FROM table WHERE name='sss' AND e-mail='333@mm.h' TOP 1. Я точно не помню, в начало или конец пихать TOP, но суть ясна. Можно сделать даже более:
Delete * FROM table WHERE name='sss' AND e-mail='333@mm.h' TOP (SELECT Count(*) WHERE name='sss' AND e-mail='333@mm.h') - 1.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог