|
|
|
| Подскажите, кто уже сталкивался, как можно удалить из базы повторяющеюся комбинацию:
фамилию (ячейка "familia") + имя (ячейка "имя")?
Что-то типа такого:
mysql_query("delete from spisok where (familia + name) не повторяются ");
|
Заранее спасибо за помощь.
Т.е. если связка "фамилия+имя" уже есть в базе, то удалить. Знатоки, help! | |
|
|
|
|
|
|
|
для: Владимир22
(13.02.2008 в 14:25)
| | Нужно удалить все записи с повторяющейся комбинацией или все таки по одной записи оставить? И нужно на чистом SQL или помощь PHP тоже можно использовать? | |
|
|
|
|
|
|
|
для: Shaxmatu
(14.02.2008 в 16:03)
| | По одной записи даже нужно оставить. Можно и спомощью PHP. | |
|
|
|
|
|
|
|
для: Владимир22
(13.02.2008 в 14:25)
| | Т.е. в таблице должны остаться только уникальные значения? | |
|
|
|
|
|
|
|
для: cheops
(18.02.2008 в 13:28)
| | Да, т.е. если есть уже связка "familia + name", то её не трогать, а все повторения таких связок удалить. Как? | |
|
|
|
|
|
|
|
для: Владимир22
(18.02.2008 в 16:27)
| | Обычно в таких случаях создают новую таблицу, которую заполняют уникальными значениями при помощи оператора CREATE TABLE ... SELECT ... GROUP BY, затем старую таблицу уничтожают, а новую переименовывают, так, чтобы её значение совпадало со старым. | |
|
|
|
|
|
|
|
для: cheops
(19.02.2008 в 02:44)
| | а еще вариант - создать unique-ключ по этим двум полям | |
|
|
|
|
|
|
|
для: mechanic
(19.02.2008 в 17:44)
| | >а еще вариант - создать unique-ключ по этим двум полям
Как это?
Я считал что unique-ключ создаётся только по каждому полю в отдельности, то есть создание двух таких ключей будет требованием уникальности всех имён и всех фамилий. | |
|
|
|
|
автор: Trianon (...) (20.02.2008 в 15:11) |
|
|
для: Eugene77
(20.02.2008 в 14:47)
| | unique - ограничение уникальности значений ключа.
Если ключ создан на множестве полей, то значением ключа будет являться набор значений полей. (или их частей, если указаны ограничения ширины полей) | |
|
|
|
|
|
|
|
для: Trianon (...)
(20.02.2008 в 15:11)
| | Спасибо! Не знал, что такое возможно.
Подскажите, пожалуйста, синтаксис запроса создающего ключ на несколько полей. | |
|
|
|
|
|
|
|
для: Eugene77
(20.02.2008 в 17:25)
| | ALTER TABLE tab ADD UNIQUE (col1, col2); | |
|
|
|