問題タブ [information-schema]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
288 参照

mysql - information_schemaなしでInnoDBFK制約を決定する

MySQLデータベース構造を検査するためのコードを書いていますが、外部キー制約(InnoDBテーブル)に関する情報が必要です。

これを行うために私が知っている2つの方法があります:

  1. の結果を解析しますSHOW CREATE TABLE X
  2. 使用するINFORMATION_SCEMA.REFERENTIAL_CONSTRAINTS

残念ながら、オプション2にはMySQL 5.1.16以降が必要なので、サーバーの担当者に更新を説得できるまでは使用できません。オプション1はおそらく回避できますが、完全なSQLを記述しなくても面倒な感じがします。パーサーコードが常にどのテーブルでも機能するかどうかはわかりません。

この情報を入手する別の方法はありますか?

ありがとう

0 投票する
1 に答える
3389 参照

sql-server - SQL Serverの信頼できないinformation_schemaスキーマ情報?

ここでのSQLServerのドキュメントには、のtable_schemaフィールドinformation_schema.tablesは「信頼できない」と記載されており、オブジェクトのスキーマを取得する正しい方法はクエリを実行することsys.objectsです。

によって報告されたスキーマがいつどのように正しくない可能性があるかについて誰かが詳しく説明できますか?information_schema.tables

0 投票する
2 に答える
3359 参照

mysql - MySQL での INFORMATION_SCHEMA.key_column_usage のパフォーマンスの低下

バージョン 5.5.11 の MySQL を実行していますが、INFORMATION_SCHEMA.key_column_usage テーブルをクエリするときのパフォーマンスが非常に悪いです。

簡単な選択リクエストがあります:

400 行を返すのに平均 8 秒かかります。これは既知の問題ですか?もしそうなら、パフォーマンスを改善する方法はありますか (おそらくパッチですか?)。

0 投票する
1 に答える
1143 参照

mysql - MySQL: INSERT INTO テーブル SHOW CREATE VIEW

SHOW CREATE VIEW の列「Create View」を一時テーブルに書き込む必要があります。

そこにあるビュー作成ステートメントは、「ビューの作成」から取得したステートメントとは少し異なるため、INFORMATION_SCHEMA を使用できないことに注意してください。具体的には、INFORMATION_SCHEMA のステートメントには、Create View ステートメントにデータベース スキーマ名が含まれており、スキーマ名なしでこれをダンプしたいと考えています。(スキーマ名が自動的に設定されているのか、ユーザーがどのようにステートメントを作成するのかがわからないため、正規表現を使用してステートメント名を削除することはできません)

アイデアをありがとう!

0 投票する
1 に答える
350 参照

postgresql - このクエリがデッドロックになるのはなぜですか?

既存の PostgreSQL 9.1 データベースの構造を読み取り、それを「あるべき」状態と比較し、それに応じてデータベースを更新するアプリケーションがあります。ほとんどの場合、それはうまくいきます。ただし、現在のデータベース構造を読み取るときにデッドロックが発生した場合がいくつかありました。担当するクエリは、既存の外部キーを読み取ります。

pgAdmin でサーバーのステータスを表示すると、これがサーバー上で実行されている唯一のアクティブなクエリ/トランザクションであることがわかります。それでも、クエリは返されません。

エラーはある意味で再現可能です。エラーを生成するデータベースを見つけると、毎回エラーが生成されます。ただし、すべてのデータベースでエラーが発生するわけではありません。これは不可解なバグの 1 つであり、他に何を試すか、またはこれを回避する方法についてのオプションとアイデアが不足しています。そのため、ご意見やアイデアは大歓迎です。

PS: 私の同僚が、PostgreSQL 8.4 を使用して同じエラーが発生したと報告しました。

0 投票する
1 に答える
5276 参照

sql-server - information_schemaを使用してmssqlサーバーで外部キーを検索する

特定のテーブルを指す外部キーを持つすべてのテーブルを見つけようとしています。だから私はこれを書いた:

これは、私が取り組んでいるデータベース内の24個の外部キーのうち22個に対して、90%の時間、正確には機能します。ただし、2つのFKの場合、unique_constraint_nameはtable_constraintsのどの名前とも一致しません。

名前も少しおかしいです。そのうちの一つは、スペースのある「環境指定子」です。FKが指すフィールドの名前は「environment_designator」で、アンダースコアが付いています。もう1つは、「filenameisunique」のunique_constraint_nameを持っています。これは、「from」または「to」テーブルの定義に表示されるものに対応していません。

unique_constraint_nameで一致するものを探す必要がある場所は他にありますか?

0 投票する
1 に答える
451 参照

sql - SQL information_schema XSD 定義はありますか?

SQL:2008および以前の標準では、はINFORMATION_SCHEMA標準のメタスキーマとして記述されています。原則として、メタデータを XML にアンロードして、XSLT やその他の XML ツールを使用してスキーマ メタ データをさらに処理およびリバース エンジニアリングすることができます。

  • これは以前に行われたことがありますか?
  • を説明するある程度完全な XSD が利用可能INFORMATION_SCHEMAですか?

注意: データベース スキーマのアンロードをjooq-metaの SQL 標準INFORMATION_SCHEMAXML 構造に実装し、2 番目のプロセスでそのスキーマを再度ロードして、jOOQ で Java ソース コード アーティファクトを生成したいので、これを求めています。そのためには、独自の XSD を作成するのではなく、可能な限り標準に近い既存の XSD を使用することをお勧めします。

0 投票する
3 に答える
4129 参照

mysql - データベース全体の空の文字列をNULLに更新

データベースのクリーンアップを実行していますが、さまざまな列に空の文字列とNULL値の両方がある列がたくさんあることに気付きました。

NULLを許可しないものを除いて、データベース内の各テーブルの各列の空の文字列をNULLに更新するSQLステートメントを作成することは可能ですか?

私はinformation_schema.COLUMNSテーブルを見て、ここから始めるかもしれないと思います。

0 投票する
4 に答える
13529 参照

sql-server - オーバーフローの危険がある IDENTITY 列を簡単に見つけるにはどうすればよいですか?

私のデータベースは古くなり、最大のINT IDENTITY列の 1 つは約 13 億の値を持っています。これで21億くらいオーバーフローします。サイズを大きくすることを計画していますが、データベース内のレコード数が多いため、あまり早くしたくありません。列のサイズを大きくする前に、データベース ハードウェアを交換すると、パフォーマンスの問題が相殺される可能性があります。また、50% を超えて使用されているデータベース内の他のすべての列にも注目したいと考えています。テーブルがたくさんあり、それぞれを手動でチェックするのは現実的ではありません。

これは私が現在値を取得する方法です (返される値が少し古くなっている可能性があることはわかっていますが、私の目的には十分です):

を使用しINFORMATION_SCHEMAてこの情報を取得できますか?

0 投票する
0 に答える
90 参照

php - クライアントのサーバーではなく、ローカル サーバーから取得した情報スキーマ

私のサイトでは、インポートしたデータベースのテーブルを一覧表示したいと考えています。これは私の php コードです。

彼女の $dbname はデータベースの名前です。

表示する$tblstrと値が0になります。

サイトは私のシステムでテストされており、 $ で値を取得していtblstrます。しかし、他のシステムでこれをチェックすると、値は 0 になりました。私のコードの問題は何ですか?

情報スキーマがクライアントのサーバーからではなく、ローカル サーバーから取得されるのはなぜですか?

これは、mysql 接続コードです。

コードイグナイターのサイトです。