Дублирование записи и несработка replace
Мне нужно чтобы не добавлялись идентичные 3 поля если они встретятся, а они добавляются даже если стоит первичный или уникальный ключ у меня в первом идуещм поле. Вот так вставляю и добавляется, а нужно чтобы заменялся дубликатом. Что делать? Вот так вставляю.
Код:
replace into cat (name1,surname,age) VALUES("Алина","Глушева",34) http://phpclub.ru/mysql/doc/replace.html ![]() |
а какие поля у вас назначены уникальными?
|
Уникальными никакие, пробую добавить уникальность на все поля, пишет что дубликат вроде или что нельзя вставить.
![]() |
Вот так сработало:
Код:
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)) |
Цитата:
Вам все же придется делать два запроса, иначе это никак не решить. Первым проверяете наличие, вторым вставляете/обновляете. |
Залез в таблицу, там такое:
Код:
| cat | CREATE TABLE `cat` ( alter table cat drop UNIQUE name1 |
Вот так удалилось
Код:
alter table cat drop index name1 Код:
alter ignore table cat add UNIQUE (name1,surname,age) Что это такое произошло? Код:
UNIQUE KEY `name1` (`name1`,`surname`,`age`), |
Часовой пояс GMT +3, время: 13:06. |