Delete
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?
:{
У меня в таблице есть три записи:
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?
:{
уникальный ключ надо было ставить, а теперь все, никак, удаляй обе, а потом снова вставляй одну, т.е. операция автоматизируется с трудом
уникальный ключ надо было ставить, а теперь все, никак, удаляй обе, а потом снова вставляй одну, т.е. операция автоматизируется с трудом
Ключевое поле есть-ID. Есть конструкция SELECT DISTINCT * FROM MyTable. При этом записи не повторяются. Может есть DELETE DISTINCT * FROM MyTable WHERE ...?
Ключевое поле есть-ID. Есть конструкция SELECT DISTINCT * FROM MyTable. При этом записи не повторяются. Может есть DELETE DISTINCT * FROM MyTable WHERE ...?
нет такой кракозябры я не встречал, если по distinct она показывает только по одной записи то это совсем не значит что она и удалять будет также.
Синтаксис DELETE:
DELETE [FROM] table_name WHERE column_name = 'value'
если тебе очень хочется удалить повторные значения напиши прогу которая будет выводить все повторные значения и предлагать стереть их по Id
нет такой кракозябры я не встречал, если по 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.