Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2009, 19:10   #1
SwiP
Форумчанин
 
Регистрация: 18.03.2009
Сообщений: 101
По умолчанию Уникальные значения

Есть столб, предназначенный для записи в него логинов. Как сделать, чтобы каждый логин в нём стал бы уникальным? Чтобы нельзя было записать уже сущ. логин ещё раз?
SwiP вне форума Ответить с цитированием
Старый 07.05.2009, 19:51   #2
5naip
Форумчанин
 
Аватар для 5naip
 
Регистрация: 05.10.2007
Сообщений: 536
По умолчанию

нужно сделать этот столбец ключевым. Ключевые столбцы не могут быть не уникальными.
rocklistener...
5naip вне форума Ответить с цитированием
Старый 07.05.2009, 21:30   #3
SwiP
Форумчанин
 
Регистрация: 18.03.2009
Сообщений: 101
По умолчанию

То есть добавить это при создании таблицы?
PRIMARY KEY (хх)
Ну а если у меня уже есть ключевой столб?
SwiP вне форума Ответить с цитированием
Старый 07.05.2009, 21:59   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

сделай просто уникальный индекс по полю
Код:
CREATE UNIQUE INDEX name_your_index on TableName;
естественно, нужно перед созданием такого индекса убрать все дубли, иначе он не создастся
soleil@mmc вне форума Ответить с цитированием
Старый 07.05.2009, 22:02   #5
5naip
Форумчанин
 
Аватар для 5naip
 
Регистрация: 05.10.2007
Сообщений: 536
По умолчанию

1.Да.
2.Посмотрите это _http://www.ageent.ru/sql-unique.html
----
пока я искл в гугле,ужо нашли...
rocklistener...

Последний раз редактировалось 5naip; 07.05.2009 в 22:17.
5naip вне форума Ответить с цитированием
Старый 07.05.2009, 22:48   #6
SwiP
Форумчанин
 
Регистрация: 18.03.2009
Сообщений: 101
По умолчанию

soleil@mmc
Ругается он на него, не нравится ему синтаксис...

Вот мой запрос:
Код:
CREATE TABLE users (
  id_user int(6) NOT NULL auto_increment,
  name text,
  pw text,
  about text,
  PRIMARY KEY  (id_user),
  UNIQUE (name)
) CHARACTER SET utf8;
При попытке создания выдаёт ошибку, BLOB/TEXT column 'name' used in key specification without a key length

Мне нужно, чтобы id_user и name были неповторимыми. id_user и так уникален, а чё с этим именем делать х3
SwiP вне форума Ответить с цитированием
Старый 07.05.2009, 23:22   #7
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от SwiP Посмотреть сообщение
soleil@mmc
Ругается он на него, не нравится ему синтаксис...

Вот мой запрос:
Код:
CREATE TABLE users (
  id_user int(6) NOT NULL auto_increment,
  name text,
  pw text,
  about text,
  PRIMARY KEY  (id_user),
  UNIQUE (name)
) CHARACTER SET utf8;
а ты сам придумал такой синтаксис?
неужели так тяжело открыть хоть один мануал по скл?!
твой скрипт будет так выглядеть (если ты больше нигде не накосячил)

Код:
CREATE TABLE users (
  id_user int(6) NOT NULL PRIMARY KEY,
  name text NOT NULL UNIQUE,
  pw text,
  about text
) CHARACTER SET utf8;
в скл auto_increment никак не описывается - только сиквенсы/генераторы для конкретных субд
soleil@mmc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уникальные строки werser Microsoft Office Excel 1 02.04.2009 18:23
Уникальные значения в одну строку Iskin Microsoft Office Excel 9 08.03.2009 09:39
Значения фильтра... nikolai_P Microsoft Office Excel 1 25.02.2009 14:49
Повторяющиеся значения iid2007 Microsoft Office Access 2 16.09.2008 05:54
выбор значения SveSve Microsoft Office Excel 2 16.04.2008 19:13