При обычном использовании правило, определенное во внешней таблице стилей, отменяется стилем, определенным в head
документа, который, в свою очередь, отменяется встроенным стилем внутри самого элемента (при условии равной специфичности селекторов). Определение правила с помощью !important
«атрибута» (?) Отбрасывает обычные проблемы в отношении «более позднего» правила, переопределяющего «более ранние».
Кроме того, обычно более конкретное правило переопределяет менее конкретное правило. Итак:
a {
/* css */
}
обычно отменяется:
body div #elementID ul li a {
/* css */
}
Поскольку последний селектор более специфичен (и, как правило, не имеет значения, где находится более специфичный селектор (в head
или во внешней таблице стилей) он будет по-прежнему переопределять менее специфичный селектор (встроенные атрибуты стиля всегда будут переопределять 'more-' или '' less- ', конкретный селектор, так как он всегда более конкретен.
Если, однако, вы добавите !important
к объявлению CSS менее специфичного селектора, он будет иметь приоритет.
Использование !important
имеет свои цели (хотя я изо всех сил думаю о них), но это очень похоже на использование ядерного взрыва, чтобы остановить лис, убивающих ваших цыплят, да, лисы будут убиты, но и цыплята тоже. И соседство.
Это также делает отладку вашего CSS кошмаром (из личного, эмпирического, опыта).
В SQL Server Management Studio есть отличная функция, которая спасла меня.
В SSMS перейдите в Параметры -> Дизайнеры -> Дизайнеры таблиц и баз данных, установите флажок «Автоматически создавать сценарии изменений» и снимите флажок «Запретить сохранение изменений, требующих повторного создания таблицы».
В проводнике объектов перейдите к таблице и выберите столбец, который получит спецификацию удостоверения. Щелкните правой кнопкой мыши и выберите изменить. На панели свойств столбца разверните дерево «Спецификация личности» и измените «(Идентичность)» на «Да». Теперь в верхнем левом размере выберите значок «Создать скрипт». Обратите внимание на предупреждающие сообщения.
Теперь у вас будет сгенерированный скрипт, который отбросит все ваши ограничения, воссоздает таблицу с идентификатором и воссоздает ограничения. ВАУ!
Я » Я протестирую его и опубликую здесь свои результаты.
Обновление: Все работало нормально. Я забыл сказать в вопросе, что мне нужен скрипт для воспроизведения модификации в установках наших клиентов.
Это действительно фантастический сайт. За время, которое я потратил, чтобы написать свой собственный ответ, я получил еще 3 человека!
Если столбец является целым числом как часть существующих отношений, то он уже уникален. Поэтому вам не нужно беспокоиться о дубликатах! Этой огромной проблемы уже удалось избежать.
Вы можете либо ввести команду ALTER TABLE, чтобы изменить столбец, либо вы можете сделать это с помощью Enterprise Manager.
Не существует единого DDL «ALTER TABLE» для изменения существующего столбца на столбец идентификаторов. Вы можете только добавить новый столбец идентификаторов в существующую таблицу.
Это можно сделать в Enterprise Manager, но вы должны знать, что сервер Sql создает новую таблицу и копирует ваши данные в фоновом режиме. У вас могут быть проблемы с этим. Вот статья, которая объясняет это немного подробнее http://www.mssqltips.com/tip.asp?tip=1397
В вашем сценарии, я думаю, вам понадобится комбинация этого скрипта и что-то для отключения и повторно активируйте свои фк.
В Enterprise Manager щелкните правой кнопкой мыши таблицу в представлении таблицы, выберите дизайн.
щелкните левую часть столбца (затем дважды щелкните идентификатор, в столбцах внизу, в свойствах столбца , включает, по умолчанию автоприращение 1