Страница 1 из 1
Время действия отключения внешних ключей?
Добавлено: Ср 03 апр 2013 07:22
imobile
Здравствуйте.
Отключаю внешние ключи по
Код: Выделить всё
MyConnection1->ExecSQL("SET FOREIGN_KEY_CHECKS=0",NULL,0);
Дело в том, что это отключает внешние ключи примерно на 5 мин. Как сделать так, чтоб контроль внешних ключей действовал до конца работы приложения или пока я не включу их?
Re: Время действия отключения внешних ключей?
Добавлено: Чт 04 апр 2013 17:22
DemetrionQ
Здравствуйте.
По умолчанию, переменная FOREIGN_KEY_CHECKS имеет локальную область видимости. В этом случае отключение проверки внешних ключей действует в пределах одной сессии до момента, пока вы обратно не включите проверку или не закроете сессию (закроете соединение с сервером).
Если вы хотите, чтобы закрытие соединения не меняло значение переменной FOREIGN_KEY_CHECKS, вы можете менять её с помощью SQL инструкции
Но имейте ввиду, что в этом случае изменение этой переменной повлияет на все существующие подключения, а не только на ваше.
Более подробную информацию об особенностях использования FOREIGN_KEY_CHECKS и глобальной области видимости серверных переменных вы можете прочесть в MySQL Reference Manual.