1

mysql の機能を拡張するためにいくつかのメタデータを作成しようとしていますが、データベース INFORMATION_SCHEMA にテーブルを作成できません。別のデータベースを作成してそこにメタデータを入れることができると思っていましたが、テーブルから INFORMATION_SCHEMA DB のいくつかのテーブルへの外部キーが必要です。それにもかかわらず、それらを作成しようとするとエラーが発生します。次に、変更の通知を受け取るトリガーを作成できると考えましたが、トリガーはテーブルに関連付けられており、そのデータベースを変更できないため、トリガーも作成できません。

具体的には、および他のいくつかを参照するいくつかのテーブルがinformation_schema.schemata(schema_name)ありinformation_schema.schemata(columns)ます。これらの外部キーを使用できるようにしたいのですがON UPDATE CASCADE ON DELETE CASCADE、それ以外の場合は、何も参照していないテーブルにいくつかの行があり、それを許可できません。

MySql 5.3を使用するmariaDB 5.5.30を使用しています。

4

2 に答える 2

2

INFORMATION_SCHEMA テーブルは実際にはビューであり、その内容は MySQL サーバーによって自動的に維持されます。

マニュアルには詳細情報が記載されています

INFORMATION_SCHEMA 内には、読み取り専用のテーブルがいくつかあります。これらは実際にはベース テーブルではなくビューであるため、関連付けられたファイルはなく、それらにトリガーを設定することはできません。また、その名前のデータベース ディレクトリはありません。

USE ステートメントを使用してデフォルトのデータベースとして INFORMATION_SCHEMA を選択できますが、テーブルの内容を読み取ることしかできず、テーブルに対して INSERT、UPDATE、または DELETE 操作を実行することはできません。

于 2013-05-11T22:08:12.770 に答える