SQLSERVER: Как изменить существующий первичный ключ интервала таблицы для становления столбцом идентификационных данных?

1111 Это означает, по сути, то, что говорится; что «это важно, игнорируйте последующие правила и любые обычные проблемы специфичности, примените это правило!»

При обычном использовании правило, определенное во внешней таблице стилей, отменяется стилем, определенным в head документа, который, в свою очередь, отменяется встроенным стилем внутри самого элемента (при условии равной специфичности селекторов). Определение правила с помощью !important «атрибута» (?) Отбрасывает обычные проблемы в отношении «более позднего» правила, переопределяющего «более ранние».

Кроме того, обычно более конкретное правило переопределяет менее конкретное правило. Итак:

a {
    /* css */
}

обычно отменяется:

body div #elementID ul li a {
    /* css */
}

Поскольку последний селектор более специфичен (и, как правило, не имеет значения, где находится более специфичный селектор (в head или во внешней таблице стилей) он будет по-прежнему переопределять менее специфичный селектор (встроенные атрибуты стиля всегда будут переопределять 'more-' или '' less- ', конкретный селектор, так как он всегда более конкретен.

Если, однако, вы добавите !important к объявлению CSS менее специфичного селектора, он будет иметь приоритет.

Использование !important имеет свои цели (хотя я изо всех сил думаю о них), но это очень похоже на использование ядерного взрыва, чтобы остановить лис, убивающих ваших цыплят, да, лисы будут убиты, но и цыплята тоже. И соседство.

Это также делает отладку вашего CSS кошмаром (из личного, эмпирического, опыта).

6
задан neves 25 June 2009 в 15:03
поделиться

4 ответа

В SQL Server Management Studio есть отличная функция, которая спасла меня.

В SSMS перейдите в Параметры -> Дизайнеры -> Дизайнеры таблиц и баз данных, установите флажок «Автоматически создавать сценарии изменений» и снимите флажок «Запретить сохранение изменений, требующих повторного создания таблицы».

В проводнике объектов перейдите к таблице и выберите столбец, который получит спецификацию удостоверения. Щелкните правой кнопкой мыши и выберите изменить. На панели свойств столбца разверните дерево «Спецификация личности» и измените «(Идентичность)» на «Да». Теперь в верхнем левом размере выберите значок «Создать скрипт». Обратите внимание на предупреждающие сообщения.

Теперь у вас будет сгенерированный скрипт, который отбросит все ваши ограничения, воссоздает таблицу с идентификатором и воссоздает ограничения. ВАУ!

Я » Я протестирую его и опубликую здесь свои результаты.

Обновление: Все работало нормально. Я забыл сказать в вопросе, что мне нужен скрипт для воспроизведения модификации в установках наших клиентов.

Это действительно фантастический сайт. За время, которое я потратил, чтобы написать свой собственный ответ, я получил еще 3 человека!

15
ответ дан 8 December 2019 в 13:48
поделиться

Если столбец является целым числом как часть существующих отношений, то он уже уникален. Поэтому вам не нужно беспокоиться о дубликатах! Этой огромной проблемы уже удалось избежать.

Вы можете либо ввести команду ALTER TABLE, чтобы изменить столбец, либо вы можете сделать это с помощью Enterprise Manager.

0
ответ дан 8 December 2019 в 13:48
поделиться

Не существует единого DDL «ALTER TABLE» для изменения существующего столбца на столбец идентификаторов. Вы можете только добавить новый столбец идентификаторов в существующую таблицу.

Это можно сделать в Enterprise Manager, но вы должны знать, что сервер Sql создает новую таблицу и копирует ваши данные в фоновом режиме. У вас могут быть проблемы с этим. Вот статья, которая объясняет это немного подробнее http://www.mssqltips.com/tip.asp?tip=1397

В вашем сценарии, я думаю, вам понадобится комбинация этого скрипта и что-то для отключения и повторно активируйте свои фк.

1
ответ дан 8 December 2019 в 13:48
поделиться

В Enterprise Manager щелкните правой кнопкой мыши таблицу в представлении таблицы, выберите дизайн.

щелкните левую часть столбца (затем дважды щелкните идентификатор, в столбцах внизу, в свойствах столбца , включает, по умолчанию автоприращение 1

1
ответ дан 8 December 2019 в 13:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: