Как удалить primary key sql
Перейти к содержимому

Как удалить primary key sql

  • автор:

как удалить PRIMARY KEY?

как удалить PRIMARY KEY из столбца id ?

Отслеживать

задан 10 мар 2018 в 20:29

Aleksey exec Aleksey exec

379 1 1 золотой знак 3 3 серебряных знака 19 19 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

  1. Если id автоинкрементарное : Перед удалением ключа следует удалить свойство автоинкремента: ALTER TABLE comments MODIFY id INT NOT NULL
  2. А потом уже сам PRIMARY KEY (Ваш случай) ALTER TABLE comments DROP PRIMARY KEY;

Отслеживать

ответ дан 10 мар 2018 в 21:24

Vanya Avchyan Vanya Avchyan

4,950 1 1 золотой знак 17 17 серебряных знаков 42 42 бронзовых знака

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.2.12.4680

Изменение первичных ключей

Первичный ключ можно изменить в SQL Server с помощью SQL Server Management Studio или Transact-SQL. Изменить первичный ключ таблицы можно, изменив порядок столбцов, имя индекса, параметр кластеризации или коэффициент заполнения.

В этом разделе

  • Перед началом работыБезопасность
  • Изменение первичного ключа с использованием:Среда SQL Server Management StudioTransact-SQL

Перед началом

Безопасность

Разрешения

Требуется разрешение ALTER на таблицу.

Использование среды SQL Server Management Studio

Изменение первичного ключа
  1. Откройте в конструкторе таблиц таблицу, первичный ключ которой необходимо изменить, правой кнопкой мыши щелкните конструктор таблиц и выберите пункт Индексы и ключи в контекстном меню.
  2. В диалоговом окне Индексы/ключи выберите индекс первичного ключа из списка Выберите первичный/уникальный ключ или индекс .
  3. Выполните действие из следующей таблицы.
Кому Выполните следующее
Переименование первичного ключа Введите новое имя в поле Имя . Убедитесь, что новое имя не совпадает с именами в списке Выбранный первичный/уникальный ключ или индекс .
Установка параметра кластеризации Для создания кластеризованного индекса для первичного ключа укажите Создать как CLUSTEREDи выберите нужный параметр из раскрывающегося списка. Таблица может содержать только один кластеризованный индекс. Если этот параметр недоступен для выбранного индекса, то сначала снимите этот флажок в существующем кластеризованном индексе.

Использование Transact-SQL

Изменение первичного ключа

Чтобы изменить ограничение PRIMARY KEY с использованием Transact-SQL, необходимо сначала удалить существующее ограничение PRIMARY KEY, а затем создать новое с другим определением. Дополнительные сведения см. в разделах Delete Primary Keys и Create Primary Keys.

Удаление первичных ключей

Вы можете удалить первичный ключ в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

При удалении первичного ключа удаляется и соответствующий индекс. Это может быть кластеризованный индекс таблицы, в результате чего таблица станет кучей. Дополнительные сведения см. в статье Кучи (таблицы без кластеризованных индексов). Большинство таблиц должны иметь кластеризованный индекс. Сведения о повторном создании первичного ключа см. в разделе Создание первичных ключей.

Первичные ключи могут ссылаться на внешние ключи в другой таблице. Если на внешний ключ ссылается, сначала необходимо удалить ссылки на внешние ключи, а затем удалить первичный ключ. Дополнительные сведения см. в статье Primary and Foreign Key Constraints.

Разрешения

Требуется разрешение ALTER на таблицу.

Использование SQL Server Management Studio

Удаление ограничения первичного ключа с помощью обозревателя объектов

  1. В Обозревателе объектов разверните таблицу, которая содержит первичный ключ, и разверните узел Ключи.
  2. Щелкните ключ правой кнопкой мыши и выберите команду Удалить.
  3. В диалоговом окне Удаление объекта убедитесь в том, что выбран правильный ключ, и нажмите кнопку ОК.

Удаление ограничения первичного ключа с помощью конструктора таблиц

  1. В обозревателе объектов щелкните таблицу с первичным ключом правой кнопкой мыши и выберите пункт Конструктор.
  2. В сетке таблицы щелкните правой кнопкой строку с первичным ключом и выберите пункт Удалить первичный ключ , чтобы переключить параметр.

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

Использование Transact-SQL

Удаление ограничения первичного ключа

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.
  2. На стандартной панели выберите пункт Создать запрос.
  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере сначала определяется имя ограничения первичного ключа, а затем удаляется ограничение.
USE AdventureWorks2022; GO -- Return the name of primary key. SELECT name FROM sys.key_constraints WHERE type = 'PK' AND OBJECT_NAME(parent_object_id) = N'TransactionHistoryArchive'; GO -- Delete the primary key constraint. ALTER TABLE Production.TransactionHistoryArchive DROP CONSTRAINT PK_TransactionHistoryArchive_TransactionID; GO 

Следующие шаги

  • Инструкция ALTER TABLE (Transact-SQL)
  • sys.key_constraints (Transact-SQL)
  • Кластеризованные и некластеризованные индексы

Удаление уникального ключа из таблицы MySQL: подробный гид

Чтобы удалить уникальный ключ из таблицы MySQL, выполните следующую команду:

Скопировать код

ALTER TABLE имя_вашей_таблицы DROP INDEX имя_уникального_индекса;

Перед этим убедитесь в том, что вы правильно определили имя уникального индекса с помощью запроса SHOW INDEX FROM имя_вашей_таблицы . В данной команде замените имя_вашей_таблицы и имя_уникального_индекса на реальные названия. Эта команда позволяет снять уникальное ограничение.

Рассуждения перед удалением индекса

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

Как найти имя вашего индекса если вы его забыли?

Если вы забыли имя индекса, можно узнать его, выполним следующий запрос:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *