問題タブ [self-referencing-table]

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 投票する
2 に答える
277 参照

mysql - MySQL は、同じテーブルの id フィールドを参照する null 許容の外部キーを作成します

Post テーブルの「in_reply_to」フィールドを、同じテーブルの id フィールドを参照する null 許容の外部キーにしようとしています。基本的に、このフィールドが null の場合、投稿は別の投稿への返信ではありません。null 以外の場合、意味があれば、投稿は一致する ID を持つ投稿への返信です。しかし、mysql でファイルを実行すると、次のエラーが発生します。

エラー 1064 (42000): SQL 構文にエラーがあります。'(160) , FOREIGN KEY (userID) REFERENCES users(userID), FOREIGN KEY (in_reply_' at line 6 Query OK, 0 rows impacted (0.36 sec) 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。 )

したがって、私が書いたコマンドに何か問題があると言っていますが、何が間違っているのかを特定することはできません。

これがsqlファイルの内容です

したがって、投稿のIDを参照する方法についての指針があれば、いただければ幸いです。

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

postgresql - [COLUMN_NAME] AS、自己参照テーブルを選択

以下は、自己参照テーブルemp_tabref1で実行される関数get_reporteesです。

emp_tabref1 のテーブル構造:

返してもらいたいのは、渡す ID の階層 (上と下の両方) で、これには emp_name、emp_id、mgr_id、およびmgr_nameが含まれます。

しかし、私の関数は次のように返されます:

私の期待される出力はどこですか

この関数は、従業員名ではなくマネージャー名を返す必要があります。助けてください!

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

c# - モデル ツリー構造を表示するための EF キャスト

同じテーブルに親子関係を持つエンティティ フレームワークのモデルがあります。これは、0,1 対多のマッピングです。現在、多くのプロパティがあります。あるシナリオでは、これらすべてのプロパティが必要ではなく、ID、名前、および子だけが必要です。

これらのリストをに変換したい

以下のようにしています。

そしてエラーが発生する

タイプ 'System.Data.Entity.DynamicProxies.Foo_ALongNoInHexadecimal' のオブジェクトをタイプ 'Namespace.ViewModel.FooModel' にキャストできません。

ツリー構造をキャストしてツリーのモデルを表示する方法はありますか?

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

mysql - mysql 自己参照テーブルと別のテーブルからビューを作成する

フィールドIDと親を持つテーブル「組織」があります。親は同じテーブルを参照します (自己参照キー)。

「user_organization」という別のテーブルがあり、そこには user_id と org_id があります。org_id は「組織」テーブルの id にリンクされています。

ここで、user_id と organization_id を含むこれら 2 つのテーブルを使用してビューを作成します。1 つの組織のメンバーはすべての子組織のメンバーになるため、このビューには実際の user_organization テーブルからの追加の値が含まれます。

このビューを作成するにはどうすればよいですか?

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

sql-server - カスケードで自己参照関係を削除する方法は?

次のような自動参照関係を持つテーブルがあります。

TableA(IDTableA, IDTableARoot,...)

そして、削除する削除トリガーの代わりにこれを持っています:

私はこの2行があると思います:

行 1: IDTableA: 1 IDTableARoot: 1

行 2: IDTableA: 2 IDTableARoot: 1

行1を削除しようとすると:

ID = 1 の行のみが削除されますが、ID = 2 の行は削除されませんが、トリガーの最初のステートメントで削除する必要があるため、IDTableARoot = IDTableA の行を削除する必要があると言います。削除する行の ID です。

では、自己関係に属するカスケード行を削除するにはどうすればよいでしょうか?

どうもありがとう。

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

django - 自己参照テーブルを使用して Django で dumpdata/loaddata を使用するには?

sqlite3 に対して開発された Django 1.7 アプリがあり、Postgresql に移行しています。Place と呼ばれる 1 つのモデル テーブルには、それ自体に対する親リレーションがあります。dumpdata を使用して .json 抽出を作成しました。

loaddata を使用して抽出物を Postgres db に読み取ろうとすると、Django (postgres ではない) から次のように表示されます。

django.core.serializers.base.DeserializationError: Problem installing fixture '/home/ugliest/project/thub/dbdump25jan_nat.json': Place matching query does not exist;

これは、django がデータをデータベースにロードする前に検証していることを示しています。検証前にこのデータを許可する方法はありますか? Postgresには制約チェックを延期する機能があることは知っていますが、djangoからそれをトリガーできたとしても、djangoの検証を妨げることはありません. どのようにデータを取得しますか?

明らかな何かが欠けているように感じます。これは頻繁に発生するようで、既知の簡単な修正方法があります。抽出ファイルを並べ替えるには、本当にカスタム混乱を書く必要がありますか?

編集:FWIW、答えが見つからず、カスタム混乱を書いて並べ替えました。