2009-06-30 2 views

答えて

3

AFAICTの外部キーは、Firebird 2.1まで無効にすることはできません。
削除して再作成する必要があります。
Devshedにはsimilar threadがあります。

+1

+1。システムテーブルを示すツールを使用すると、RDB $ RELATION_CONSTRAINTSに外部キー制約を無効にするフィールドがないことがわかります。索引OTOHは非アクティブにすることができ、RDB $ INDICESにはフィールドRDB $ INDEX_INACTIVEがあります。 – mghie

+0

はい、制約をサポートするインデックスは無効にできません。そうしようとするとエラーになります。 –

0

私は唯一の方法はドロップして後でそれらを再作成することだと思います。制約はデータではないので、実際にはデータベースから情報を失うことはないため、無害な操作です(スクリプトを後で再作成する場合)。

バージョンFlameRobinのSVNリポジトリには、選択したテーブル列の依存関係に対して自動的にDROPスクリプトとCREATEスクリプトを生成するオプションがあります。前回の公式リリースではテーブル全体で同じオプションが使用されていました。ただし、データベース全体に対して実行するオプションはありません。多分他の管理者。ツールにその機能があります。

関連する問題