
VWD2008でSQLサーバーを使用して簡単な検索DBを作成しようとしています。
元々アクセスのデータベースファイルから
SQLサーバーの機能を利用してSQLDBをエクスポートしました。
Shopsテーブルには
[id]…主キー(自動採番)
[Shop_Code]…販売店コード
[Shop_Name]…販売店名
[Shop_Add]…住所
[Shop_AreaID]…Shope_Areaテーブルとリレーションを組む
というフィールドが存在します。
Shop_Areaテーブルには
[Shop_AreaID]…主キー(自動採番)
[Shop_Area_Status]…北海道・仙台・東京・名古屋なとの地域情報が入ります。
●Shope_Areaテーブル
Shop_AreaID | Area_Status |
------------------------------------
01 | 北海道 |
02 | 仙台 |
03 | 東京 |
VWD機能のデータベースダイアグラムより
Shopsテーブルの[Shop_AreaID]と
Shop_Areaテーブルの[Shop_AreaID]でリレーションを作成し
ダイアグラムの保存を試みようとするとエラーダイアグラムが表示されてしまいます。エラーメッセージは以下の通りです。
テーブル 'Shop_Area' は正しく保存されました。
テーブル 'shops'
- リレーションシップ 'FK_shops_Shop_Area' を作成できません。
ALTER TABLE ステートメントは FOREIGN KEY 制約 "FK_shops_Shop_Area" と競合しています。競合が発生したのは、
データベース "C:\....\091111_DATA.MDF"、テーブル "dbo.Shop_Area", column 'Shop_Area_ID' です。
上記のようなエラーメッセージが出力される場合
どういった理由が考えられるのでしょうか。
色々試してみたのですがリレーションを設定することができません。
どうか教えてください。

A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
解決済かもしれませんが、私が最近この現象で詰まってしまい、Webのどこにも情報を捜しきれなかったので。
> ALTER TABLE ステートメントは FOREIGN KEY 制約 "FK_shops_Shop_Area" と競合しています。競合が発生したのは、
> データベース "C:\....\091111_DATA.MDF"、テーブル "dbo.Shop_Area", column 'Shop_Area_ID' です。
これって、制約違反のデータが存在するときに出て来るメッセージのようです。
実際、作られた外部キーのテーブルに対して制約違反のデータを挿入しようとすると同じメッセージがきます。
で、私の場合、同じメッセージが出てきて、制約違反のデータを削除したら無事外部キーが作成できました。
No.1
- 回答日時:
恐らく作成しようとしているリレーションが既にあるという事だと思います。
SQL Server Managementでshopsテーブルを展開するとキーというのがあるのでその中にFK_shops_Shop_Areaがあると思われますので、それを右クリックして変更を選んでください。
するとダイアログが表示されますので、テーブルと列の指定を展開すると外部キーの関係が出ますので確認してみてください。
返信が遅れまして申し訳ございません。
回答ありがとうございます。
実は[Shops]テーブルは元々あったテーブルだったのですが
[Shop_Area]テーブルは今度の検索システムのために新たに
作成したテーブルになります。
なので既にリレーションが作成されているというのは
少し考えにくいのです・・・、
SQL Server Managementはインストールされていませんでしたので
確認させていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- au(KDDI) au povo1.0 ですが、iPhone 12 proからiPhone14 Pro に今のpovo 1 2022/09/09 08:45
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- メンズ 大至急メンズです こんなマスクさがしてます田舎です どこ売ってますか 「立体型スパンレース不織布カラ 1 2022/11/24 09:48
- au(KDDI) au・povo1.0・iPhone 12 pro購入時に”かえトクプログラム“ 加入済みですが、 i 2 2022/09/09 14:26
- クラフト・工作 アクセサリー作りに詳しい方、教えていただけると幸いです。 2 2022/12/03 22:59
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ACCESS】リレーションを組ん...
-
ACCESSテーブルを RecordSet以...
-
select文の戻り値を変数に格納...
-
外部キーのリレーションが設定...
-
SQL文(テーブル項目名が特殊文...
-
access コンボボックス初期表示...
-
ASPNETDB.MDFのスキーマについて
-
VBとACCESSを接続したい
-
スプレッドシートについて
-
ASP.NET:複数結合テーブルのデ...
-
VB.NETで DataRow()を利用して...
-
エクセルvbaで、別シートの最下...
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
VBA:小数点以下の数字を取得で...
-
DataGrdViewに関連付けたデータ...
-
エクセルで、絶対値の平均を算...
-
特定のセルが空白だったら、そ...
-
Excelのセルの色指定をVBAから...
-
Excelのプルダウンで2列分の情...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSテーブルを RecordSet以...
-
【ACCESS】リレーションを組ん...
-
select文の戻り値を変数に格納...
-
SQL文(テーブル項目名が特殊文...
-
DBの読み込み順について
-
access コンボボックス初期表示...
-
accessのフォームを使ってテー...
-
外部キーのリレーションが設定...
-
テーブルというグローバル変数
-
Perlで変数内の日本語が文字コ...
-
異なるデータベースでのSELECT ...
-
ASP.NET:複数結合テーブルのデ...
-
HTML&CSS Javascriptによる動...
-
VBとACCESSを接続したい
-
VS2010 LINQtoSQLについて
-
Windows formアプリで データグ...
-
単純なjoin句の必要性
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
VB.NETで DataRow()を利用して...
おすすめ情報