私は、データベースを作成したと私はお互いに接続されている次のフィールドを作成:SQL Serverの挿入エラー
CREATE TABLE abonat(COD_ABONAT int PRIMARY KEY ,Nume nvarchar(30),Prenume nvarchar(30),Adresa nvarchar(60),telefon char(13),CNP char(14),COD_ABONAMENT int)
CREATE TABLE abonament(COD_ABONAMENT int PRIMARY KEY,Denumire nvarchar(30),tip int,TRAFIC_MB int, PRET float, PRET_EXTRA_TRAFIC float)
CREATE TABLE contractx(NR_CONTRACT int PRIMARY KEY, COD_ABONAT int, VALABILITATE date, DATA_INCHEIERII date)
CREATE TABLE stare(NR_CONTRACT int, SERIE_MODEM char(10), STARE int)
CREATE TABLE plata(NR_FACTURA int PRIMARY KEY, DATA_PLATII date)
CREATE TABLE factura(NR_FACTURA int, COD_ABONAT int PRIMARY KEY, DATA_EMITERII date, DATA_LIMITA date, TOTAL_PLATA float)
CREATE TABLE tip(TIP_CONTRACT int PRIMARY KEY, DESCRIERE nvarchar(50), SUMA float)
CREATE TABLE penalizare(NR_FACTURA int PRIMARY KEY, SUMA float)
CREATE TABLE bonus (FACTURA int PRIMARY KEY, BONUS_TRAFIC int, BONUS_ABONAMENT float)
ALTER TABLE abonament ADD CONSTRAINT FK_CODY FOREIGN KEY (COD_ABONAMENT) REFERENCES abonat(COD_ABONAT)
ALTER TABLE contractx ADD CONSTRAINT FF_COD FOREIGN KEY (COD_ABONAT) REFERENCES abonat(COD_ABONAT)
ALTER TABLE stare ADD CONSTRAINT FF_NEWCOD FOREIGN KEY (NR_CONTRACT) REFERENCES contractx(NR_CONTRACT)
ALTER TABLE factura ADD CONSTRAINT FF_PLATA FOREIGN KEY (NR_FACTURA) REFERENCES plata(NR_FACTURA)
ALTER TABLE contractx ADD CONSTRAINT FF_ALTELE FOREIGN KEY (COD_ABONAT) REFERENCES factura(COD_ABONAT)
INSERT INTO abonat
VALUES (1,'STROE','ALIN','Str. Deznatui Bloc A 15 sc 2','0741966242','1800929160031',1)
INSERT INTO abonat
VALUES (2,'STAMIN','SILVIAN','Str. Raului nr 20','0741563241','1730229160021',2)
INSERT INTO abonat
VALUES (3,'JIPA','ALINA','Str.Caracal nr 23','0731226120','2770929160031',3)
INSERT INTO abonat
VALUES (4,'ROHOD','RARES','Str.Burebista nr 44','0735411469','1550520160035',4)
INSERT INTO abonat
VALUES (5,'AMORARITEI','EUGEN','Str.Privdor Bl B3 sc 2 ap 8','0765511444','18012245160029',5)
INSERT INTO abonament
VALUES (1,'BASIC',1,500,9.99,1)
私の問題は、私は次のエラーを受け取るabonamentに挿入しようとすると:
INSERTステートメントがFOREIGN KEY制約 "FK_CODY"と競合しました。競合は、データベース "ICSx"、テーブル "dbo.abonat"、列 'COD_ABONAT'で発生しました。
どうすればこの問題を解決できますか?このエラーがなくてもテーブルを接続できる方法はありますか?
私はこの正確なコードを実行しており、SQL 2K8を使ってうまく動作します。 – codingbadger
'abonat'と' abonament'の関係を見てください。現在、あなたは1:1の関係になっています。あなたはそれが欲しいのですか?ところで、あなたがここに持っているコードは何の誤りも与えません。 –
私はこのエラーを受け取ります。私は何が間違っているのかわかりません... – opc0de