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

Форум MySQL

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

 

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

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

тема: Как удалить повторяющиеся записи
 
 автор: 1prom   (27.06.2009 в 11:25)   письмо автору
 
 

где поля по имени a (char) одинаковые и оставить все те же записи, но чтобы поля a (char) не повторялись?

Спасибо за ответ.

  Ответить  
 
 автор: Valick   (27.06.2009 в 12:00)   письмо автору
 
   для: 1prom   (27.06.2009 в 11:25)
 

Я так понимаю операция разовая.
Вам нужно сделать выборку нужных вам полей (составить соответствующий запрос) и сохранить в другую таблицу, после чего удалить (сделав на всякий случай предварительно резервную копию) таблицу оригинал и переименовать новую таблицу.

  Ответить  
 
 автор: 1prom   (27.06.2009 в 12:17)   письмо автору
 
   для: Valick   (27.06.2009 в 12:00)
 

Операция не разовая она будет выполнятся при появлении одинаковых записей.

Но если никто не скажет, подскажите тогда, пожалуйста, как правильно переименовать таблицу, я этого раньше не делал.

  Ответить  
 
 автор: Valick   (27.06.2009 в 12:22)   письмо автору
 
   для: 1prom   (27.06.2009 в 12:17)
 

Операция не разовая она будет выполнятся при появлении одинаковых записей
Зачем Вам вставлять в таблицу одинаковые записи, чтобы потом их удалить? Вам не кажется это несколько нелогичным?

  Ответить  
 
 автор: Рома   (27.06.2009 в 13:10)   письмо автору
 
   для: 1prom   (27.06.2009 в 12:17)
 

А может стоит хранить хэш поля? Перед новой вставкой данных опять снять хэш и проверить его на уникальность. Как при регистрации - вы же проверяете уникальность логина?

  Ответить  
 
 автор: 1prom   (27.06.2009 в 13:14)   письмо автору
 
   для: Рома   (27.06.2009 в 13:10)
 

Да, можно и так

  Ответить  
 
 автор: Valick   (27.06.2009 в 13:40)   письмо автору
 
   для: 1prom   (27.06.2009 в 13:14)
 

А может просто не создавать себе проблем? И использовать средства СУБД?
Раз повторений не должно быть, то поле должно быть уникальным.
И INSERT IGNORE вам в помощь.

  Ответить  
 
 автор: Trianon   (27.06.2009 в 14:02)   письмо автору
 
   для: Рома   (27.06.2009 в 13:10)
 

>А может стоит хранить хэш поля?

А может не стоит?

  Ответить  
 
 автор: Рома   (27.06.2009 в 14:27)   письмо автору
 
   для: Trianon   (27.06.2009 в 14:02)
 

Разве что обойтись проверкой уникальности текста, или купить книгу, да побольше узнать про возможности mysql. Других вариантов я не вижу.

  Ответить  
 
 автор: Trianon   (27.06.2009 в 15:57)   письмо автору
 
   для: Рома   (27.06.2009 в 14:27)
 

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

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

Вы предложили использовать хеш для чего?
Что не получалось без хеша?

  Ответить  
Rambler's Top100
вверх

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