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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как удалить повторяющиеся записи?

Сообщения:  [1-10]   [11-11] 

 
 автор: mechanic   (20.02.2008 в 18:35)   письмо автору
 
   для: Eugene77   (20.02.2008 в 17:25)
 

ALTER TABLE tab ADD UNIQUE (col1, col2);

   
 
 автор: Eugene77   (20.02.2008 в 17:25)   письмо автору
 
   для: Trianon (...)   (20.02.2008 в 15:11)
 

Спасибо! Не знал, что такое возможно.
Подскажите, пожалуйста, синтаксис запроса создающего ключ на несколько полей.

   
 
 автор: Trianon (...)   (20.02.2008 в 15:11)
 
   для: Eugene77   (20.02.2008 в 14:47)
 

unique - ограничение уникальности значений ключа.
Если ключ создан на множестве полей, то значением ключа будет являться набор значений полей. (или их частей, если указаны ограничения ширины полей)

   
 
 автор: Eugene77   (20.02.2008 в 14:47)   письмо автору
 
   для: mechanic   (19.02.2008 в 17:44)
 

>а еще вариант - создать unique-ключ по этим двум полям
Как это?
Я считал что unique-ключ создаётся только по каждому полю в отдельности, то есть создание двух таких ключей будет требованием уникальности всех имён и всех фамилий.

   
 
 автор: mechanic   (19.02.2008 в 17:44)   письмо автору
 
   для: cheops   (19.02.2008 в 02:44)
 

а еще вариант - создать unique-ключ по этим двум полям

   
 
 автор: cheops   (19.02.2008 в 02:44)   письмо автору
 
   для: Владимир22   (18.02.2008 в 16:27)
 

Обычно в таких случаях создают новую таблицу, которую заполняют уникальными значениями при помощи оператора CREATE TABLE ... SELECT ... GROUP BY, затем старую таблицу уничтожают, а новую переименовывают, так, чтобы её значение совпадало со старым.

   
 
 автор: Владимир22   (18.02.2008 в 16:27)   письмо автору
 
   для: cheops   (18.02.2008 в 13:28)
 

Да, т.е. если есть уже связка "familia + name", то её не трогать, а все повторения таких связок удалить. Как?

   
 
 автор: cheops   (18.02.2008 в 13:28)   письмо автору
 
   для: Владимир22   (13.02.2008 в 14:25)
 

Т.е. в таблице должны остаться только уникальные значения?

   
 
 автор: Владимир22   (18.02.2008 в 02:21)   письмо автору
 
   для: Shaxmatu   (14.02.2008 в 16:03)
 

По одной записи даже нужно оставить. Можно и спомощью PHP.

   
 
 автор: Shaxmatu   (14.02.2008 в 16:03)   письмо автору
 
   для: Владимир22   (13.02.2008 в 14:25)
 

Нужно удалить все записи с повторяющейся комбинацией или все таки по одной записи оставить? И нужно на чистом SQL или помощь PHP тоже можно использовать?

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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