Как навсегда отключить проверку внешнего ключа - PullRequest
2 голосов
/ 05 мая 2020

Мне приходится сотрудничать с программистом старой школы. Долгое время go он настраивал базу данных MySQL. Когда он создавал ее, он использовал свой основной язык в качестве языка для именования таблиц, столбцов и т. Д. c.

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

Я полагаю, что проще всего сделать было бы отключить проверку внешнего ключа SET foreign_key_checks = 0;, но это длится только сеанс. Есть ли способ обойти это?


Могу ли я что-нибудь сделать SET foreign_key_checks = 0;, но для каждого подключенного пользователя, а также идеально после перезапуска БД?

1 Ответ

0 голосов
/ 28 мая 2020

https://dev.mysql.com/doc/refman/8.0/en/set-variable.html

Устанавливает только текущий сеанс, даже тот же пользователь при следующем повторном подключении не будет иметь этой настройки.

SET [SESSION] key = value (SESSION используется по умолчанию и, следовательно, необязательно)


Устанавливает его для всех пользователей до следующего перезапуска сервера MySQL.

SET GLOBAL key = value


То же как глобальный, но будет применяться и после перезапуска. Фактически это изменит конфигурационный файл сервера MySQL.

SET PERSIST key = value (PERSIST доступен только с версии 8)

Существует также PERSIST_ONLY, который будет применять эффект только после перезапуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...