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

Форум MySQL

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

 

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

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

тема: Replace into

Сообщения:  [1-10]    [11-20]   [21-30]  [31-31] 

 
 автор: Trianon   (01.08.2007 в 13:45)   письмо автору
 
   для: sidPR   (01.08.2007 в 12:28)
 

Откуда Вы берете эти номера?
336 337 339 340?
Если следовать Вашей логике - у всех этих строк должен быть id=336
Тогда если INSERT заменить на REPLACE - таблица окажется из двух строк.

   
 
 автор: sidPR   (01.08.2007 в 12:28)   письмо автору
 
   для: Trianon   (01.08.2007 в 10:54)
 


CREATE TABLE `text` (
  `id` int(11) NOT NULL auto_increment,
  `page_id` int(11) NOT NULL default '0',
  `slova` varchar(150) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=339 ;



INSERT INTO `text` (`id`, `page_id`, `slova`) VALUES (336, 23, 'softtime.ru'),
(337, 23, 'softtime.ru'),
(338, 23, 'adfadf');
(339, 23, 'softtime.ru'),
(340, 23, 'softtime.ru'),


вот видете пример записи в базу с помощью "INSERT INTO" у меня дублируется слово softtime.ru аж 4 раза... а мне нужно добится того что мол если такое уже есть слово то его просто обновить или не записывать ...

   
 
 автор: Trianon   (01.08.2007 в 10:54)   письмо автору
 
   для: sidPR   (01.08.2007 в 10:19)
 

приведите пример с неуникальным набором.

   
 
 автор: sidPR   (01.08.2007 в 10:19)   письмо автору
 
   для: Trianon   (31.07.2007 в 18:59)
 

а какже уникальность ID Всех записей ?

   
 
 автор: Trianon   (31.07.2007 в 18:59)   письмо автору
 
   для: sidPR   (31.07.2007 в 18:47)
 

>id - генерится автоматом для каждого нового поля

Так не генерируйте его автоматом для тех записей, которые уже есть. Берите уже имеющиеся.

   
 
 автор: sidPR   (31.07.2007 в 18:57)   письмо автору
 
   для: sidPR   (31.07.2007 в 18:47)
 

Грубо говоря если вручную перебирать все ID имеющееся в базе и поля slovo из всех имеющихся записей поле slovo должно содержать везде разные значения ... чтобы не дублировалось информация !

   
 
 автор: sidPR   (31.07.2007 в 18:47)   письмо автору
 
   для: Trianon   (31.07.2007 в 18:22)
 


INSERT INTO `text` (`id`, `page_id`, `slovo`) 


проще скажу

id - генерится автоматом для каждого нового поля
мне надо при добавлении новго поля небыло совпадений со старым полем SLOVO

   
 
 автор: Trianon   (31.07.2007 в 18:22)   письмо автору
 
   для: sidPR   (31.07.2007 в 18:06)
 

>Нет уже имеющееся запись не должна просто так обновлятся

Тогда почему для уже имеющейся записи Вы генерируете новый id?

   
 
 автор: sidPR   (31.07.2007 в 18:06)   письмо автору
 
   для: Trianon   (31.07.2007 в 17:57)
 

Нет уже имеющееся запись не должна просто так обновлятся , она должно обновлятся если только в таблице есть в поле SLOVO два одинаковых слова и если так то обновлять это слово как бы по верх записывать а не создавать еще одно поле с темже словом

   
 
 автор: Trianon   (31.07.2007 в 17:57)   письмо автору
 
   для: sidPR   (31.07.2007 в 17:08)
 

Окей, по ID Вы удаляете записи.

Тогда зачем Вы генерируете новый id при обновлении уже имеющейся записи?
Получайте id старой записи и выполняйте INSERT относительно этого id.

И второй вариант - избавляйтесь от суррогатного ключа id вообще,
используйте вместо него реальный - slovo

Других вариантов нет. Либо - либо.

   

Сообщения:  [1-10]    [11-20]   [21-30]  [31-31] 

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

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