SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 14.02.2010 21:35:17

Nickname
Участник
Зарегистрирован: 09.02.2010
Сообщений: 4

Избежать дубликатов в одном поле таблицы

Здравствуйте, форумчане! Хочу спросить у знающих, как нужно сделать, чтобы функция INSERT INTO не позволяла записывать в одно из полей таблицы одинаковые значения. Может быть в самой таблице нужно настройки произвести какие-то?  Заранее спасибо!

Неактивен

 

#2 14.02.2010 21:37:54

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Избежать дубликатов в одном поле таблицы

Сделать нужное поле уникальным ключом.


ALTER TABLE `имя таблицы` ADD UNIQUE INDEX (`имя поля`);

Неактивен

 

#3 15.02.2010 07:21:23

Nickname
Участник
Зарегистрирован: 09.02.2010
Сообщений: 4

Re: Избежать дубликатов в одном поле таблицы

Спасибо, сейчас буду испытывать! smile

Неактивен

 

#4 15.02.2010 18:14:12

vaspet
Завсегдатай
Зарегистрирован: 11.03.2009
Сообщений: 83

Re: Избежать дубликатов в одном поле таблицы

При добавлении уникального ключа, как предложил vasya вы будете получать сообщеня об ошибках при попытках вставить запись с уже существующим значением в уникальном поле.
Чтобы их проигнорировать используйте:

INSERT IGNORE INTO ...

Неактивен

 

#5 16.02.2010 02:29:04

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Избежать дубликатов в одном поле таблицы

А чтобы все равно вставить - используйте REPLACE вместо INSERT.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson