|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.01.2013, 06:00 | #1 |
Пользователь
Регистрация: 29.06.2010
Сообщений: 14
|
значения строк ключевого столбца
в таблице sql server 2008 express есть один столбец, который является ключевым.
нужно добавить неопределенн. кол-во строк. каждой строке нужно добавить значение, на данный момент которое задать невозможно, т.к. эти значения будут вводиться постепенно. я ввела 3 строки в конструкторе таблицы. и пыталась присвоить значения NULL в каждой строке. null не дает присвоить т.к. столбец ключевой и не может иметь null значения. тогда я присвоила 1строке значение default , но во 2 строке default уже не присваивается, т.к. в одном столбце не м.б. повторных значений. также null default 'n/a' в 1 строке присваивается, а во 2 строке не присваивается. какие значения мне нужно присвоить всем строкам ключевого столбца чтобы не возникало ошибок и когда значения в строках еще неизвестны? |
09.01.2013, 17:38 | #3 |
Пользователь
Регистрация: 29.06.2010
Сообщений: 14
|
как примерно это делается? есть ссылка хотябы как добавлять строки ключевого столбца
|
09.01.2013, 18:59 | #4 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Все ключи должны быть суррогатными, особенно когда такое непонятно что творится. Уникально идентифицируйте записи identity полем, а правильность этого неизвестного поля проверяйте в триггерах или вообще не проверяйте, это уже зависит от желания и задачи. Это поле уж точно не должно быть ключевым, раз на момент создания записи оно хранить будет непонятно что.
|
09.01.2013, 19:36 | #5 |
Пользователь
Регистрация: 29.06.2010
Сообщений: 14
|
есть какой то пример добавления строк в неключевой столбец
|
09.01.2013, 20:15 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Насколько понял речь идет о добавлении записей-пустышек в таблицу. Зачем это нужно мыслей нет ни каких. Смысла вообще не вижу. Хотя добавить можно. Для MSSQL 2000 на примере таблицы с автоинкрементным полем и не ключевыми полями допускающими NULL или имеющими DEFAULT значение можно сделать так
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
09.01.2013, 23:00 | #7 | |
Пользователь
Регистрация: 29.06.2010
Сообщений: 14
|
Цитата:
|
|
09.01.2013, 23:10 | #8 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
||
09.01.2013, 23:33 | #9 |
Пользователь
Регистрация: 29.06.2010
Сообщений: 14
|
дело в том что один столбец не может содержать повторяющиеся строки со значением default values - это означает что если одной строке присвоить значение default то второй строке уже не присвоить значение default, так как не может быть повторяющих значений в строках ключевого столбца
|
09.01.2013, 23:44 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А я про ключевое поле сказал только, что оно автоинкрементное и явно в него в INSERT-е ничего не присваивается. Если оно не инкрементное, то должны сами любым вам доступным способ создать для него уникальное значение при вставке
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |