[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Дублирование записи и несработка replace
kilogram
Мне нужно чтобы не добавлялись идентичные 3 поля если они встретятся, а они добавляются даже если стоит первичный или уникальный ключ у меня в первом идуещм поле. Вот так вставляю и добавляется, а нужно чтобы заменялся дубликатом. Что делать? Вот так вставляю.


replace into cat (name1,surname,age) VALUES("Алина","Глушева",34)


прочитал здесь:
http://phpclub.ru/mysql/doc/replace.html

user posted image



Спустя 2 часа, 40 минут, 39 секунд (2.07.2012 - 19:18) kilogram написал(а):
Вот так сработало:

alter ignore table cat add UNIQUE (name1,surname,age)


Скажите, а в чем разница:
alter table cat add UNIQUE (name1,surname,age)


от этого:

alter table cat add (UNIQUE (name1,surname,age))

Спустя 39 минут, 18 секунд (2.07.2012 - 19:57) Placido написал(а):
Гугл не работает? Первая же ссылка
https://www.google.com.ua/search?sugexp=chr...er+ignore+table
Опция IGNORE является расширением MySQL по отношению к ANSI SQL92. 
Она управляет работой ALTER TABLE при наличии дубликатов уникальных ключей в новой таблице.
Если опция IGNORE не задана, то для данной копии процесс прерывается и происходит откат назад.
Если IGNORE указывается, тогда для строк с дубликатами уникальных ключей только первая строка используется, а остальные удаляются.

Спустя 13 минут, 16 секунд (2.07.2012 - 20:10) kilogram написал(а):
Вот так удалилось

alter table cat drop index name1

Я заметил странную вещь, если написать такой запрос:

alter ignore table cat add UNIQUE (name1,surname,age)

А потом запустить 3 раза, выходит такое в результате в таблицу.
Что это такое произошло?

UNIQUE KEY `name1` (`name1`,`surname`,`age`),
UNIQUE KEY `name1_2` (`name1`,`surname`,`age`),
UNIQUE KEY `name1_3` (`name1`,`surname`,`age`)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.