0

Как удалить данные одной ячейки, если она принадлежит к столбцу, который является первичным ключём?

Проблема возникла при создании учебной БД на MSSQL. При внесении строк в таблицу, предпоследняя строка была пропущена. Столбец "code", являющийся PRIMARY KEY для таблицы, содержал свойства NOT NULL и IDENTITY (аналог AUTO_INCREMENT в MySQL). После добавления пропущенной строки получилось, что две последние строки поменялись местами. Так же поменялись местами значения в столбце "code". Изменить значение "code" с помощью UPDATE не получилось, т.к. программа ссылалась на невозможность изменения данных в столбце PRIMARY KEY. Было решено удалить две последние строки и записать их заново в нужном порядке. Добавляем строки, выводим таблицу целиком и видим следующее: значения удаленных строк 11 и 12 в столбце "code", при добавлении данных строк заново изменились на 13 и 14 соответственно. То есть мы получили следующую нумерацию: 1,...10, 13, 14. Вопрос: как удалить/изменить данные ячейки, если столбец, к котором она принадлежит, является PRIMARY KEY и как избежать исчезновения значений в таких ячейках после удаления?

12th Jan 2020, 5:29 PM
Иванов Арсений Андреевич
Иванов Арсений Андреевич - avatar
1 Respuesta