Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / FOREIGN KEY проблема / 7 сообщений из 7, страница 1 из 1
16.10.2019, 17:50
    #39877245
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FOREIGN KEY проблема
Приветствую СПЕЦЫ!

У меня проблема такого плана:
Есть Большая таблица пользователей на которую ссылаются большинство таблиц, Мне нужно ее почистить так как в ней около 50 лишних полей, которые ушли в другие таблицы, таблица тяжелая более 10млн записей. Блокировать продакшен можно но не на долго.
На сколько я представляю есть два пути как убрать эти поля из таблицы:
1. Тупо удалить из таблицы нужные поля и забыть но это занимает больше пяти часов
2. Сделать новую таблицу со всеми стандартами и туда все вставить со старой (что я и сделал), затем поменять местами и типа все получилось! Однако тут другая проблема, все таблицы будут отправлять FOREIGN KEY на старую таблицу как бы я ее не называл. А это означает мне нужно все заграничные ключи менять на новую таблицу.

Так вот вопрос: Как бы вы поступили на моем месте? Заранее спасибо за ответ.
...
Рейтинг: 0 / 0
16.10.2019, 18:05
    #39877249
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FOREIGN KEY проблема
alexnewsвсе таблицы будут отправлять FOREIGN KEY на старую таблицу как бы я ее не называлдаже если внешние ключи выключить?
...
Рейтинг: 0 / 0
16.10.2019, 18:08
    #39877250
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FOREIGN KEY проблема
miksoftalexnewsвсе таблицы будут отправлять FOREIGN KEY на старую таблицу как бы я ее не называлдаже если внешние ключи выключить?
А что это изменит? выключил - хорошо, но потом их нужно будет включить но они будут направлены на старую таблицу - значит нужно менять все ключи во всех таблицах чтобы перенаправлять на новую
...
Рейтинг: 0 / 0
16.10.2019, 18:10
    #39877251
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FOREIGN KEY проблема
alexnewsmiksoftпропущено...
даже если внешние ключи выключить?
А что это изменит? выключил - хорошо, но потом их нужно будет включить но они будут направлены на старую таблицу - значит нужно менять все ключи во всех таблицах чтобы перенаправлять на новуюэто точно? Вы это проверили?

По крайней мере, в более старых версиях выключенные внешние ключи могли указывать даже на несуществующую таблицу.
...
Рейтинг: 0 / 0
16.10.2019, 18:26
    #39877258
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FOREIGN KEY проблема
miksoftalexnewsпропущено...

А что это изменит? выключил - хорошо, но потом их нужно будет включить но они будут направлены на старую таблицу - значит нужно менять все ключи во всех таблицах чтобы перенаправлять на новуюэто точно? Вы это проверили?

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

 Нет вы не поняли, оно будет работать, но какой смысл? Мне же нужно направить ключи на новую таблицу, чтобы база была правильная без левого мусора. Может я что то не так рассказал?
...
Рейтинг: 0 / 0
16.10.2019, 19:05
    #39877267
retvizan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FOREIGN KEY проблема
alexnews,

1. отключить проверку внешних ключей
2. удалить старую таблицу
3. переименовать новую в старую
4. включить внешние ключи

p.s. проверьте сначала для своей версии
...
Рейтинг: 0 / 0
16.10.2019, 20:24
    #39877289
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FOREIGN KEY проблема
retvizanalexnews,

1. отключить проверку внешних ключей
2. удалить старую таблицу
3. переименовать новую в старую
4. включить внешние ключи
p.s. проверьте сначала для своей версии

Версия 5.6.10,  работает!!! Спасибо!!! не работает если я пытаюсь оригинальную таблицу переименовать, а если удаляю и затем переименовываю то работает!! Спасибо ОГРОМНОЕ!!!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / FOREIGN KEY проблема / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]