3

mysqldump の出力を見ると、上部に次のように表示されます。

同様にあちこちに散らばっています /*! にはさまざまなステートメントがあります。*/ ブロック。私の推測では、これらはバージョンに基づいて条件付きで実行されている可能性がありますが、残念ながら Google がシンボルを削除しているため、これを確認するのは困難です。

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

これは、MySQL マニュアルのこれらのステートメントへの別の参照です (これも、それらが何をするかを説明していません)。

https://dev.mysql.com/doc/refman/5.5/en/mysqldump.html#option_mysqldump_disable-keys

4

1 に答える 1

1

テーブルを作成する前に、次のような行があることに気付くでしょう。

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

そして、これらすべての後、次のような行が表示されます。

/*!40101 SET @CHARACTER_SET_CLIENT=@@OLD_CHARACTER_SET_CLIENT */;

これらの行は、データベースの現在の設定を保存し、インポート ファイルが必要とする設定に変更し、クエリを実行してから、データベースの設定を元の状態に戻します。

于 2013-04-05T22:26:32.063 に答える