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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2013, 06:00   #1
lishenaianevinosti
Пользователь
 
Регистрация: 29.06.2010
Сообщений: 14
По умолчанию значения строк ключевого столбца

в таблице sql server 2008 express есть один столбец, который является ключевым.
нужно добавить неопределенн. кол-во строк.
каждой строке нужно добавить значение, на данный момент которое задать невозможно, т.к.
эти значения будут вводиться постепенно.
я ввела 3 строки в конструкторе таблицы. и пыталась присвоить значения NULL в каждой строке.
null не дает присвоить т.к. столбец ключевой и не может иметь null значения.
тогда я присвоила 1строке значение default , но во 2 строке default уже не присваивается,
т.к. в одном столбце не м.б. повторных значений. также null default 'n/a' в 1 строке присваивается, а во 2 строке не присваивается.
какие значения мне нужно присвоить всем строкам ключевого столбца чтобы не возникало ошибок и
когда значения в строках еще неизвестны?
lishenaianevinosti вне форума Ответить с цитированием
Старый 06.01.2013, 12:14   #2
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

отдать на откуп генератору, пусть он генерирует значения новые, а в триггере записывать их...
maLoy*508 вне форума Ответить с цитированием
Старый 09.01.2013, 17:38   #3
lishenaianevinosti
Пользователь
 
Регистрация: 29.06.2010
Сообщений: 14
По умолчанию

как примерно это делается? есть ссылка хотябы как добавлять строки ключевого столбца
lishenaianevinosti вне форума Ответить с цитированием
Старый 09.01.2013, 18:59   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Все ключи должны быть суррогатными, особенно когда такое непонятно что творится. Уникально идентифицируйте записи identity полем, а правильность этого неизвестного поля проверяйте в триггерах или вообще не проверяйте, это уже зависит от желания и задачи. Это поле уж точно не должно быть ключевым, раз на момент создания записи оно хранить будет непонятно что.
pu4koff вне форума Ответить с цитированием
Старый 09.01.2013, 19:36   #5
lishenaianevinosti
Пользователь
 
Регистрация: 29.06.2010
Сообщений: 14
По умолчанию

есть какой то пример добавления строк в неключевой столбец
lishenaianevinosti вне форума Ответить с цитированием
Старый 09.01.2013, 20:15   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Насколько понял речь идет о добавлении записей-пустышек в таблицу. Зачем это нужно мыслей нет ни каких. Смысла вообще не вижу. Хотя добавить можно. Для MSSQL 2000 на примере таблицы с автоинкрементным полем и не ключевыми полями допускающими NULL или имеющими DEFAULT значение можно сделать так
Код:
INSERT INTO MyTable DEFAULT VALUES 
или
INSERT INTO MyTable (Pole1) VALUES  (NULL)
где Pole1 не ключевое допускающее NULL.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.01.2013, 23:00   #7
lishenaianevinosti
Пользователь
 
Регистрация: 29.06.2010
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Насколько понял речь идет о добавлении записей-пустышек в таблицу. Зачем это нужно мыслей нет ни каких. Смысла вообще не вижу. Хотя добавить можно. Для MSSQL 2000 на примере таблицы с автоинкрементным полем и не ключевыми полями допускающими NULL или имеющими DEFAULT значение можно сделать так
Код:
INSERT INTO MyTable DEFAULT VALUES 
или
INSERT INTO MyTable (Pole1) VALUES  (NULL)
где Pole1 не ключевое допускающее NULL.
у меня mssql server 2008. смысл такой что неизвестно из каких символов будут состоять записи, так как символы будут вводиться. также будут вводится числа. дело в том что один столбец не может содержать повторяющиеся строки со значением default values.
lishenaianevinosti вне форума Ответить с цитированием
Старый 09.01.2013, 23:10   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
смысл такой что неизвестно из каких символов будут состоять записи
Ну сделайте поля varchar, туда можно любые символы засунуть. И это совсем не значит, что нужно записи-пустышки создавать
Цитата:
дело в том что один столбец не может содержать повторяющиеся строки со значением default values
Переведите, не понимаю
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.01.2013, 23:33   #9
lishenaianevinosti
Пользователь
 
Регистрация: 29.06.2010
Сообщений: 14
По умолчанию

дело в том что один столбец не может содержать повторяющиеся строки со значением default values - это означает что если одной строке присвоить значение default то второй строке уже не присвоить значение default, так как не может быть повторяющих значений в строках ключевого столбца
lishenaianevinosti вне форума Ответить с цитированием
Старый 09.01.2013, 23:44   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А я про ключевое поле сказал только, что оно автоинкрементное и явно в него в INSERT-е ничего не присваивается. Если оно не инкрементное, то должны сами любым вам доступным способ создать для него уникальное значение при вставке
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 столбца 2 таблицы схожие значения greendoid Microsoft Office Excel 3 21.08.2012 13:21
Передача ключевого значения в DBGrid shaurma.ru БД в Delphi 5 10.12.2011 22:26
Увеличить значения столбца на 50% saizar Microsoft Office Excel 7 02.04.2011 15:07
Удаление строк столбца совпадающих со строками другого столбца ShamanGood Microsoft Office Excel 23 18.09.2010 09:26
Как сделать автозаполнение строк, которые зависят от строк другого столбца путвфда_иил Microsoft Office Excel 19 29.08.2010 17:16