|
FOREIGN KEY проблема
|
|||
---|---|---|---|
#18+
Приветствую СПЕЦЫ! У меня проблема такого плана: Есть Большая таблица пользователей на которую ссылаются большинство таблиц, Мне нужно ее почистить так как в ней около 50 лишних полей, которые ушли в другие таблицы, таблица тяжелая более 10млн записей. Блокировать продакшен можно но не на долго. На сколько я представляю есть два пути как убрать эти поля из таблицы: 1. Тупо удалить из таблицы нужные поля и забыть но это занимает больше пяти часов 2. Сделать новую таблицу со всеми стандартами и туда все вставить со старой (что я и сделал), затем поменять местами и типа все получилось! Однако тут другая проблема, все таблицы будут отправлять FOREIGN KEY на старую таблицу как бы я ее не называл. А это означает мне нужно все заграничные ключи менять на новую таблицу. Так вот вопрос: Как бы вы поступили на моем месте? Заранее спасибо за ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 17:50 |
|
FOREIGN KEY проблема
|
|||
---|---|---|---|
#18+
alexnewsвсе таблицы будут отправлять FOREIGN KEY на старую таблицу как бы я ее не называлдаже если внешние ключи выключить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 18:05 |
|
FOREIGN KEY проблема
|
|||
---|---|---|---|
#18+
miksoftalexnewsвсе таблицы будут отправлять FOREIGN KEY на старую таблицу как бы я ее не называлдаже если внешние ключи выключить? А что это изменит? выключил - хорошо, но потом их нужно будет включить но они будут направлены на старую таблицу - значит нужно менять все ключи во всех таблицах чтобы перенаправлять на новую ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 18:08 |
|
FOREIGN KEY проблема
|
|||
---|---|---|---|
#18+
alexnewsmiksoftпропущено... даже если внешние ключи выключить? А что это изменит? выключил - хорошо, но потом их нужно будет включить но они будут направлены на старую таблицу - значит нужно менять все ключи во всех таблицах чтобы перенаправлять на новуюэто точно? Вы это проверили? По крайней мере, в более старых версиях выключенные внешние ключи могли указывать даже на несуществующую таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 18:10 |
|
FOREIGN KEY проблема
|
|||
---|---|---|---|
#18+
miksoftalexnewsпропущено... А что это изменит? выключил - хорошо, но потом их нужно будет включить но они будут направлены на старую таблицу - значит нужно менять все ключи во всех таблицах чтобы перенаправлять на новуюэто точно? Вы это проверили? По крайней мере, в более старых версиях выключенные внешние ключи могли указывать даже на несуществующую таблицу. Нет вы не поняли, оно будет работать, но какой смысл? Мне же нужно направить ключи на новую таблицу, чтобы база была правильная без левого мусора. Может я что то не так рассказал? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 18:26 |
|
FOREIGN KEY проблема
|
|||
---|---|---|---|
#18+
alexnews, 1. отключить проверку внешних ключей 2. удалить старую таблицу 3. переименовать новую в старую 4. включить внешние ключи p.s. проверьте сначала для своей версии ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 19:05 |
|
FOREIGN KEY проблема
|
|||
---|---|---|---|
#18+
retvizanalexnews, 1. отключить проверку внешних ключей 2. удалить старую таблицу 3. переименовать новую в старую 4. включить внешние ключи p.s. проверьте сначала для своей версии Версия 5.6.10, работает!!! Спасибо!!! не работает если я пытаюсь оригинальную таблицу переименовать, а если удаляю и затем переименовываю то работает!! Спасибо ОГРОМНОЕ!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 20:24 |
|
|
start [/forum/topic.php?fid=47&msg=39877258&tid=1828907]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 167ms |
0 / 0 |