X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Уникальное поле в таблице
Licoric
Licoric
Topic Starter сообщение 4.9.2009, 3:08; Ответить: Licoric
Сообщение #1


создал таблицу (простую):
id email pass name icq
Хочу уже после сделать поле email уникальным. Нажимаю на "создать индекс". Выбираю поле почты, ставлю "уникальное". Есть еще поле "размер". Но для чего оно - я не знаю.
Для чего? Ключик уникальности какой?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
UncleM
UncleM
сообщение 4.9.2009, 5:59; Ответить: UncleM
Сообщение #2


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

Зачем стоить индекс, если нужно просто сделать поле уникальным? Это две разных вещи, можно обойтись и без индекса вообще.


--------------------
Осторожно! Вы можете получить огромный заряд позитива!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 4.9.2009, 10:40; Ответить: Webmaster_hb
Сообщение #3


(Mike @ 4.9.2009, 08:59) *
Зачем стоить индекс, если нужно просто сделать поле уникальным? Это две разных вещи, можно обойтись и без индекса вообще.

+1
индексы нужны только для индексирования, а это в свою очередь нужно для ускорения обработки результатов выборки из базы

а уникальность - это совсем другое, просто при добавлении новой записи с таким же значением поля, MySQL выдаст ошибку
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 4.9.2009, 11:11; Ответить: Licoric
Сообщение #4


Ну а как сделать поле уникальным?
Даже если создавать таблицу заново, то там есть "точка" "уникальный". Ее кликаешь. Нужно в поле размер вводить дополнительно что-то, иначе таблица не создастся.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Nitrex
Nitrex
сообщение 5.9.2009, 17:36; Ответить: Nitrex
Сообщение #5


А просто перед добавлением проверку на нахождение такого значения поля в таблице нельзя сделать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ворон
Ворон
сообщение 5.9.2009, 17:52; Ответить: Ворон
Сообщение #6


(Licoric @ 4.9.2009, 14:11) *
Ну а как сделать поле уникальным?


CREATE UNIQUE INDEX index_name On table_name (field_name)

rtfm
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
UncleM
UncleM
сообщение 6.9.2009, 3:18; Ответить: UncleM
Сообщение #7


(Ворон @ 5.9.2009, 20:52) *
CREATE UNIQUE INDEX index_name On table_name (field_name)

rtfm


Опять же, это - индекс. UNIQUE и INDEX - два совершенно разных понятия, как было сказано выше несколько раз.

Чтобы сделать поле уникальным, нужно выполнить такую команду:

ALTER TABLE [I]table_name[/I] ADD UNIQUE ([I]column_name[/I])


--------------------
Осторожно! Вы можете получить огромный заряд позитива!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 6.9.2009, 3:48; Ответить: Licoric
Сообщение #8


(Mike @ 6.9.2009, 06:18) *
ALTER TABLE [I]table_name[/I] ADD UNIQUE ([I]column_name[/I])

Получил:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
UncleM
UncleM
сообщение 6.9.2009, 3:58; Ответить: UncleM
Сообщение #9


table_name нужно заменить на название таблицы, column_name на название колонки.

Только что еще раз попробовал, все работает без проблем.


--------------------
Осторожно! Вы можете получить огромный заряд позитива!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 6.9.2009, 4:04; Ответить: Licoric
Сообщение #10


(Mike @ 6.9.2009, 06:58) *
table_name нужно заменить на название таблицы, column_name на название колонки.

Только что еще раз попробовал, все работает без проблем.

все поменял еще в первый раз (хоть что-то, но я понимаю):

SQL-запрос:
ALTER TABLE aci_user ADD UNIQUE (email
)
Ответ MySQL: [IMG]http://myadmin.fbsolutions.ru/themes/original/img/b_help.png[/IMG]
#1170 - BLOB/TEXT column 'email' used in key specification without a key length
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыSirBet ищет FB траферов на уникальное решение по Индии
12 Sirbet 2934 30.4.2023, 21:23
автор: Sirbet
Открытая тема (нет новых ответов) Уникальное предложение для новостников. Дешевый трафик с фейсбука.
2 mariy 1764 26.4.2016, 22:10
автор: mariy
Открытая тема (нет новых ответов) Значение чекбокса сразу добавляется в тектовое поле
2 mixxxxxx 3170 3.11.2014, 11:25
автор: -mixxxxxx-
Горячая тема (нет новых ответов) [Уникальное предложение] Прогон по трастовым сайтам
В базе 500 сайтов, заказывайте и получайте хороший результат!
105 locidogi 48415 21.5.2014, 22:40
автор: masiania1
Открытая тема (нет новых ответов) Избавим от рутины - уникальное предложение!
10 seowhite 3976 17.3.2014, 14:03
автор: martikus


 



RSS Текстовая версия Сейчас: 25.4.2024, 15:26
Дизайн