|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
Всем привет. Подскажите, была большая таблица с индексами, я создал копию таблицы и перенес в неё данные. Теперь я хочу удалить старую таблицу, но получаю вот такую ошибку: Код: sql 1.
Подскажите, как в правильном порядке удалить этот ключ и удалить таблицу? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 12:56 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
teCa, 1. Найти все таблицы, которые ссылаются на удаляемую, удалить там соответствующие FOREIGN KEY 2. Удалить таблицу ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 13:12 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
DeColo®es teCa, 1. Найти все таблицы, которые ссылаются на удаляемую, удалить там соответствующие FOREIGN KEY 2. Удалить таблицу Плохой совет. Судя по всему, тредстартер не лыка не вяжет в том "что там у него за связи между таблицами". Щас он фсе удалит, а потом прискачет с вопросом "а чего у меня ничего не работает"? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 13:38 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
aleks222, Именно, понятно, что сначала хотелось бы выяснить, что это за связь и как правильно с ней поступить. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 13:46 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
aleks222 Плохой совет. И, наверняка, ведь, кроме удаления старых FK надо будет создать такие же новые, на копию таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 14:32 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
Надо сначала выполнить такой запрос: Модератор: Не смешно После этого спокойно уже удаляешь таблицу, как обычно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 14:38 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
fkthat Надо сначала выполнить такой запрос: После этого спокойно уже удаляешь таблицу, как обычно. Смешно ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 14:41 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
teCa aleks222, Именно, понятно, что сначала хотелось бы выяснить, что это за связь и как правильно с ней поступить. https://ru.wikipedia.org/wiki/Внешний_ключ ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 15:41 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
teCa, информацию о ключах можно получить из представления sys.foreign_key_columns. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 15:41 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
Владислав Колосов, Можно всё же побольше информации? Используя select * from sys.foreign_key_columns, я получаю список из нескольких записей, вижу, что в списке указаны ИД, как я понимаю, сейчас мне нужно понять, какой ключ из данного списка нужен мне? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 15:54 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 16:21 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
teCa Смешно Обхохочешься Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Только это еще не создаст тебе ключи на копии таблицы (как я выше писал), а, скорее всего, это делать надо будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 16:31 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
fkthat, Да, изначально нужно перевести ключи на новую таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 17:02 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
teCa Да, изначально нужно перевести ключи на новую таблицу. 1. Разрешить в опциях SSMS пересоздавать таблицы из дизайнера. 2. Открыть в дизайнере старую таблицу и добавить какой-нибудь столбец. Переместить вновь добавленный столбец с последней позиции в любое другое место. 3. Получить скрипт изменений. 4. В данном скрипте удалить из тела транзакции все, кроме инструкцийй alter table ... drop constraint ... и alter table ... add constraint ... 5. Профит. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 17:26 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
invm teCa Да, изначально нужно перевести ключи на новую таблицу. 1. Разрешить в опциях SSMS пересоздавать таблицы из дизайнера. 2. Открыть в дизайнере старую таблицу и добавить какой-нибудь столбец. Переместить вновь добавленный столбец с последней позиции в любое другое место. 3. Получить скрипт изменений. 4. В данном скрипте удалить из тела транзакции все, кроме инструкцийй alter table ... drop constraint ... и alter table ... add constraint ... 5. Профит. Можно проще - скриптануть все нужные FK и в скрипте поменять имя reference-таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 18:07 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
fkthat Можно проще - скриптануть все нужные FK ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 20:00 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
invm fkthat Можно проще - скриптануть все нужные FK ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 20:05 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
fkthat, Т.е. предлагаете скриптовать каждую дочернюю таблицу? И чем же это проще? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 20:30 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
А если таблиц много, то можно скрипт на базе сделать, а потом скопировать ту часть, где FK. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 20:33 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
я бы предложил воспользоваться Smo. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 21:01 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
invm Т.е. предлагаете скриптовать каждую дочернюю таблицу? И чем же это проще? А, я понял о чем ты, просто изначально в твой хак не въехал. Да, если доч. таблиц много, то твоим способом быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 22:19 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
fkthat invm Т.е. предлагаете скриптовать каждую дочернюю таблицу? И чем же это проще? А, я понял о чем ты, просто изначально в твой хак не въехал. Да, если доч. таблиц много, то твоим способом быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 11:20 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
alexeyvg Не понимаю смысла "хака" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 11:30 |
|
Удаление таблицы с первичным ключом?
|
|||
---|---|---|---|
#18+
alexeyvg fkthat пропущено... А, я понял о чем ты, просто изначально в твой хак не въехал. Да, если доч. таблиц много, то твоим способом быстрее. Смысл в том, чтобы не скриптовать все дочерние таблицы/ключи по очереди, а скриптануть все это одним махом, вызвав изменения в таблице родительской. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 12:20 |
|
|
start [/forum/topic.php?fid=46&msg=40016542&tid=1685426]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
115ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 225ms |
0 / 0 |