Mysql
 sql >> база данни >  >> RDS >> Mysql

Можете ли автоматично да създадете mysqldump файл, който не налага ограничения на външния ключ?

mysqldump команда, включена в MySQL от версия 4.1.1 по подразбиране създава скрипт, който изключва проверките на външния ключ. Следният ред е включен в горната част на дъмп файла:

/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;

/*!40014 ... */ синтаксисът е условен коментар който ще се изпълнява на MySQL версия 4.0.14 и по-нова. Старата настройка за проверка на външния ключ се възстановява към края на дъмп файла:

/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */;

Имайте предвид, че условните коментари се интерпретират от клиента (а не на сървъра). Ако заредите дъмп файла с клиент, който не ги поддържа, тогава проверките на външни ключове няма да бъдат деактивирани и може да срещнете грешки. За най-добри резултати предлагам да заредите дъмп файлове с помощта на официалния клиент на командния ред на mysql:

mysql -hserver -uuser -p database < dumpfile.sql

Също така си струва да се отбележи, че ако mysqldump се изпълнява с --compact опция, тогава командите за деактивиране и повторно активиране на проверките на външния ключ се пропускат от дъмп файла.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Минимален пример за използване на select... за актуализиране за изолиране на редове

  2. Класиране на съвместни позиции в MySQL

  3. Как да задам схемата по подразбиране за потребител в MySQL

  4. jQuery Autocomplete (Remote) - пример

  5. Объркване на клаузата WHERE със ЗНП