問題タブ [foreign-keys]
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.
sql - 外部キーを持つテーブル(SQLサーバー)のレコードを変更しますか?
テーブルに外部キーがあるレコードを編集するより速い方法があるかどうか誰かが知っていますか(SQLサーバーで)..私は説明します..私は独自のIDを持っているが外部キーを使用して一緒にリンクされている約5つのテーブルを持っています..。。
したがって、外部キー(私の場合は契約番号)を変更する必要がありましたが、各レコードを新しいレコードにコピーして、そのように編集する必要がありました...
契約番号を編集しようとすると、関連付けられているという標準エラーが発生し、外部キーなどに違反します。
確かにもっと良い方法があるに違いありませんか?
何か案は?
asp.net - Entity Frameworkを使用してGridViewの外部キー値でソートしますか?
GridView のビルトイン Entity Framework での並べ替えを使用すると、外部キーの値を表示できます。例えば...
...しかし、ヘッダーをクリックしてグリッド内のアイテムを並べ替えると、リスト リストを Category.Name で並べ替えるにはどうすればよいですか?
私は文字列「Category.Name」しか持っていないので、これを行うことはできません:
だから私はリフレクションを試しました...
...これは機能しません。例外はスローされませんが、Category.Name で並べ替えられません。
何か案は?
sql-server - テーブル 't_name' に FOREIGN KEY 制約 'c_name' を導入すると、サイクルまたは複数のカスケード パスが発生する可能性があります
Lesson
私は:
列: ...と呼ばれるデータベーステーブルを持っています[LessonID, LessonNumber, Description]
...さらにいくつかの他の列
と呼ばれる別のテーブルがありますLesson_ScoreBasedSelection
:
列: [LessonID,NextLessonID_1,NextLessonID_2,NextLessonID_3]
レッスンが完了すると、そのレッスン ID がLesson_ScoreBasedSelection
テーブルで検索され、次の 3 つの可能なレッスンが取得されます。各レッスンは、特定の範囲のスコアに関連付けられています。スコアが 0 ~ 33 の場合、NextLessonID_1 に格納されている LessonID が使用されます。スコアが 34 ~ 66 の場合は、NextLessonID_2 に格納されている LessonID が使用されます。
テーブル内のすべての値が Lesson テーブルの LessonID 列にエントリを持っている必要があるLesson_ScoreBasedSelection
ため、lesson テーブルの LessonID 列を参照する外部キーを使用して、テーブル内のすべての列を制約したいと考えています。Lesson_ScoreBasedSelection
また、カスケード更新をオンにして、Lesson テーブルで LessonID が変更された場合に、テーブル内のすべての参照Lesson_ScoreBasedSelection
が更新されるようにします。
この特定のカスケード更新は非常に単純な一方向の更新のようにLesson_ScoreBasedSelection
見えますが、Lesson テーブルの LessonID フィールドを参照するテーブルの各フィールドに外部キー制約を適用しようとすると、次のエラーが発生します。
テーブル ' ' に FOREIGN KEY 制約 'c_name' を導入Lesson_ScoreBasedSelection
すると、サイクルまたは複数のカスケード パスが発生する可能性があります。
このエラーが発生する理由、または説明した制約とカスケード更新を実現する方法を誰かが説明できますか?
mysql - 特定のtable.columnを参照し、それらの外部キーの値を持つ外部キーを持つすべてのテーブルを見つけるにはどうすればよいですか?
主キーが他のいくつかのテーブルで外部キーとして参照されているテーブルがあります。例えば:
さて、テーブルYやZのようなXへの外部キーを含むデータベース内のテーブルの数がわかりません。返すために使用できるSQLクエリはありますか?
- Xへの外部キーを持つテーブルのリスト
- そして、それらのテーブルのどれが実際に外部キーに値を持っているか
mysql - MySql エラー 150 - 外部キー
次の 2 つのクエリを実行すると (絶対に必要なものまで削除しました):
次のエラーが表示されます: ERROR 1005 (HY000): テーブル './test/bar.frm' を作成できません (errno: 150)
**** は私のエラーですか? これを30分間見つめている間、私は彼を見つけられませんでした。
.net-3.5 - LINQ to Entities でオブジェクトの外部キー値を更新するにはどうすればよいですか?
次のテーブルがあるとします。
これらの状況で、データベース内の果物の名前とそのステータスの両方を更新するにはどうすればよいですか?:
- 以前の L2E コールから来たフルーツの一部を更新する
- FruitID に対応する整数が与えられます (つまり、最初から完全な Fruit オブジェクトが手元にありません)。
VB または C# で問題ありません。
sql - MySQL の外部キーの変更タイプ
私は MySQL を使用しており、他の多くのテーブルで外部キーとして使用されるインデックスを持つテーブルがあります。インデックスのデータ型を (符号付きから符号なし整数に) 変更したいのですが、これを行う最善の方法は何ですか?
インデックス フィールドのデータ型を変更しようとしましたが、他のテーブルの外部キーとして使用されているため失敗します。外部キーの 1 つでデータ型を変更しようとしましたが、インデックスのデータ型と一致しなかったため失敗しました。
すべての外部キー制約を手動で削除し、データ型を変更して制約を追加し直すことができると思いますが、このインデックスを外部キーとして使用するテーブルがたくさんあるため、これは大変な作業になります。変更中に外部キー制約を一時的にオフにする方法はありますか? また、インデックスを外部キーとして参照しているすべてのフィールドのリストを取得する方法はありますか?
更新: 外部キーのチェックをオフにした後、1 つの外部キーを変更しようとしましたが、チェックをオフにしていないようです:
エラーは次のとおりです。
インデックス テーブルの定義:
そして、それを指す外部キーを持つテーブル:
sql-server-2000 - SQL Server 2000 ですべての外部キー制約を取得するためのクエリ
すべての外部キーのリストを取得するには、SQL Server 2000 のクエリが必要です。
特に、特定の列を指すすべての外部キー。
このクエリの書き方
vb.net - DataGridView と DataSource: 外部キーでリンクされたフィールドを簡単に表示する方法はありますか?
VB.NET で 3 層の Windows Forms DB アプリケーションを使用しています。私はVS2005を使用しています。
DataGridView のテーブルにレコードを表示したいと思います。DB クラスと通信するビジネス クラスに DataSource をバインドすることで、レコードをそのまま表示できます。
"Asset" は私のビジネス クラスで、"DB_Asset" は DB にクエリを実行して assetList を返す DB クラスです。
アセットには、次のようなメンバーがあります。
m_ID_Asset には、DB 内の Asset テーブルの主キーが含まれ、m_XXXXXXXXXID 形式のその他すべてには、DB 内の別のテーブルへの外部キーが含まれます。
したがって、基本的に私が今得ているのは、たくさんの数字を持つ行です。それはまさに Assets テーブルにあるものです:
私が知りたいのは、これらすべての外部キーにリンクしたテキスト フィールドを表示する簡単な方法があるかどうかです。
ここで経験のある人は何かトリックを持っていますか?
前もって感謝します!
mysql - MySQL いくつかの外部キーを削除する
主キーが他のいくつかのテーブルで使用され、他のテーブルへのいくつかの外部キーを持つテーブルがあります。
問題は、外部キー列 (つまり、locationIDX) の 1 つを削除しようとすると、エラーが発生することです。
「エラー 1025 (HY000): 名前変更エラー」
このエラーを発生させずに上記の割り当てテーブルの列を削除するにはどうすればよいですか?