Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
_nebo
0 / 0 / 1
Регистрация: 02.12.2009
Сообщений: 50
1

VARCHAR(32) в качестве PRIMARY KEY

24.07.2012, 15:20. Просмотров 1257. Ответов 5
Метки нет (Все метки)

SQLite. Можно ли в качестве уникального идентификатора использовать например поле login с текстовым типом?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2012, 15:20
Ответы с готовыми решениями:

Entity Framework Database-First добавление данных. Не инкрементируется primary key
Здравствуйте, форумчане. Разбираюсь с добавлением данных в EF. Суть проблемы...

Ошибка в запросе на добавление строки: Violation of PRIMARY KEY constraint
private void button1_Click(object sender, EventArgs e) { ...

Error 6035: The relationship has columns that are not part of the key of the table on the primary side of the rel
Приятного времени суток, форумчане. Error 6035: The relationship has...

Ошибка "Violation of primary key constraint" при update
Написал программку. При нажатии на кнопку "обновить" должна происходить...

Добавление данных в таблицу. Нарушение "PK_Adresss" ограничения PRIMARY KEY
Есть контроллер public ActionResult ADDObject(Name add) { ...

5
kolorotur
Эксперт .NET
11092 / 9041 / 2277
Регистрация: 17.09.2011
Сообщений: 15,565
Завершенные тесты: 1
24.07.2012, 15:24 2
Можно, но не нужно.
0
_nebo
0 / 0 / 1
Регистрация: 02.12.2009
Сообщений: 50
24.07.2012, 15:25  [ТС] 3
ох и ответ)
обьясни плиз

ПС я знаю что физически это возможно. а какие минусы от этого?
0
turbanoff
Эксперт Java
4024 / 3759 / 742
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
Завершенные тесты: 1
24.07.2012, 15:49 4
Цитата Сообщение от _nebo Посмотреть сообщение
а какие минусы от этого?
Во всех таблицах, ссылающихся на эту, тоже будет столбец VARCHAR(32).
Если потом вдруг поменяется ТЗ, и будет нужна возможность добавлять пользователей с одинаковым логином - будет много проблем.
1
nio
5966 / 3372 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
24.07.2012, 18:08 5
Цитата Сообщение от _nebo Посмотреть сообщение
а какие минусы от этого?
как уже сказано
Цитата Сообщение от turbanoff Посмотреть сообщение
Во всех таблицах, ссылающихся на эту, тоже будет столбец VARCHAR(32).
т.е. если поле INT займет по 4 байта на каждый ключ, то VARCHAR(32) - 34 байта. Т.о. при большом количестве данных будет значительный рост БД.
Также поиск по строкам всегда занимает больше времени, чем по числам
1
kolorotur
Эксперт .NET
11092 / 9041 / 2277
Регистрация: 17.09.2011
Сообщений: 15,565
Завершенные тесты: 1
24.07.2012, 22:24 6
Цитата Сообщение от _nebo Посмотреть сообщение
ох и ответ)
обьясни плиз
Так вы не просили объяснить
Как написали выше, сравнение строк - более медленная операция, чем сравнение чисел. К тому же, как правило primary key - он же clustered index, что при использовании строки не лучшим образом скажется на размере этого индекса. Для большого количества данных это может быть весьма ощутимо.
1
24.07.2012, 22:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2012, 22:24

При добавлении записи в БД происходит ошибка "violation of PRIMARY KEY constraint)"
Ребята, тут такая неразбериха, я по идее правильные ввожу данные, но почему то...

Varchar vs nvarchar
varchar vs nvarchar.ЧТО когда юзаете?

ID имеет тип varchar
Как связать таблицы с помощью JOIN если id одной из таблиц (или обоих) имеют...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru