#mysql
#mysql
Вопрос:
Я пытаюсь импортировать базу данных, и во время этого процесса я хочу использовать эту команду и переменную
set session sql_require_primary_key=0;
Проблема в том, что я выполняю импорт из командной строки, я не знаю, как установить эту переменную только во время импорта.
Мысли?
Ответ №1:
Один из способов — поместить переменные сеанса в файл параметров и ссылаться на него при запуске клиента mysql для выполнения импорта.
Например, сохраните это в файле «require-pk.cnf»:
[client]
sql_require_primary_key=0
Затем вызовите свой клиент:
mysql --defaults-extra-file=require-pk.cnf < dump.sql
Альтернативный метод заключается в объединении set
инструкции с вашим дампом и передаче ее клиенту mysql:
( echo "set sql_require_primary_key=0;" ; cat dump.sql ) | mysql
Или, конечно, вы можете открыть файл dump.sql в текстовом редакторе и добавить эту строку вверху.
Обратите внимание, что sql_require_primary_key
значение по умолчанию уже равно OFF (0), поэтому, если сервер, на который вы импортируете, не включил его намеренно, вам не нужно его отключать. Если администратор базы данных включил это специально, у него может быть веская причина для этого.