MySQLのforeign_key_checksはデータベース全体に影響しますか?
external_key_checksはセッションベースです。これで、それらはスコープ、つまりローカルまたはグローバル用であると言えます。これは、ローカルまたはグローバルのデモの例です。どちらもスコープであり、これをセッション用に設定できます。
スコープを設定しましょう-
mysql> set foreign_key_checks = 0; Query OK, 0 rows affected (0.00 sec) mysql> set global foreign_key_checks = 0; Query OK, 0 rows affected (0.05 sec)
Foreign_key_checks変数は、サーバーシステム変数です。詳細は次のとおりです-
システム変数 | external_key_checks |
スコープ | グローバル、セッション |
動的 | はい |
タイプ | ブール値 |
デフォルト値 | オン |
foreign_key_checksを0に設定
これはデータ定義ステートメントに影響します。DROPSCHEMAは、スキーマ外のテーブルによって参照される外部キーを持つテーブルが含まれている場合でもスキーマをドロップし、DROP TABLEは、他のテーブルによって参照される外部キーを持つテーブルをドロップします。
>foreign_key_checksを1に設定
既存のテーブルデータのスキャンはトリガーされません。したがって、foreign_key_checks =0の間にテーブルに追加された行は、整合性が検証されません。
-
MySQLはデータベースファイルをどこに保存しますか?
MySQLがデータベースファイルを保存する場所を知るには、変数@@datadirを使用できます。クエリは次のとおりです- mysql> select @@datadir; 以下は、パスを表示する出力です- +---------------------------------------------+ | @@datadir | +---------------------------------------------+ | C:\ProgramData\MySQL\MySQL Server 8.0\Data\ | +
-
データベース内のテーブルの数を表示するためのMySQLクエリとは何ですか?
たとえば、ここではWEBデータベースを使用しています。データベースWEBでテーブルの数を見つける必要があります。これには、MySQLのINFORMATION_SCHEMA.TABLESを使用します。 以下は、テーブルの数を表示するためのクエリです- mysql> select count(table_name) as TotalNumberOfTablesInWebDatabase -> from information_schema.tables -> where table_schema='web';