SQL INSERT语句与FOREIGN KEY冲突

时间:2018-06-14 13:17:52

标签: sql sql-server database insert

首先,我想指出,我是新手。

我在插入表格时遇到了一些问题。 当我尝试一次运行整个代码时,它给了我错误:

  

消息547,级别16,状态0,行134 INSERT语句冲突   使用FOREIGN KEY约束“FK__Zwierze__Klatka___440B1D61”。该   数据库“zoo2”,表“dbo.Klatka”,列中发生冲突   'ID_Klatka'。

我尝试了什么:

  1. 首先在插入后创建所有表。

  2. 要更改查询中的行顺序,但它没有帮助

  3. 要搜索重复项,但不起作用。

  4. 我正在尝试大约3个小时,我不知道该怎么做。 我知道,这个错误很容易理解,但即使我不知道该怎么做。

    您可以在下面找到完整的代码。

    请帮助我。

    非常感谢提前。

    USE zoo2
    
    Create Table Domena (
    ID_Domena INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Nazwa_Domena varchar(80) NOT NULL,
    )
    Create Table Krolestwo (
    ID_Krolestwo INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Nazwa_Krolestwo varchar(80) NOT NULL,
    ID_Domena INT NOT NULL REFERENCES Domena(ID_Domena)
    )
    Create Table Typ (
    ID_Typ INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Nazwa_Typ varchar(80) NOT NULL,
    ID_Krolestwo INT NOT NULL REFERENCES Krolestwo(ID_Krolestwo)
    )
    
    Create Table Gromada (
    ID_Gromada INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Nazwa_Rodzina varchar(80) NOT NULL,
    ID_Typ INT NOT NULL REFERENCES Typ(ID_Typ)
    )
    Create Table Rzad (
    ID_Rzad INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Nazwa_Rodzina varchar(80) NOT NULL,
    ID_Gromada INT NOT NULL REFERENCES Gromada(ID_Gromada)
    )
    Create Table Rodzina (
    ID_Rodzina INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Nazwa_Rodzina varchar(80) NOT NULL,
    ID_Rzad INT NOT NULL REFERENCES Rzad(ID_Rzad)
    )
    Create Table Rodzaj (
    ID_Rodzaj INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Nazwa_Rodzaj varchar(80) NOT NULL,
    ID_Rodzina INT NOT NULL REFERENCES Rodzina(ID_Rodzina)
    )
    
    Create Table Gatunek (
    ID_Gatunek INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Nazwa_Gatunek varchar(80) NOT NULL,
    ID_Rodzaj INT NOT NULL REFERENCES Rodzaj(ID_Rodzaj),
    Opis_Gatunek varchar(500)
    ) 
    
    Create Table Strefa(
    ID_Strefa INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Strefa char(1) NOT NULL
    )
    
    Create Table Klatka_Rozmiar(
    ID_Klatka_Rozmiar INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Wysokosc INT NOT NULL,
    Szerokosc INT NOT NULL,
    Dlugosc INT NOT NULL
    )
    
    Create Table Pomieszczenie(
    ID_Pomieszczenie INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Nr_Pomieszczenie INT NOT NULL,
    ID_Strefa INT NOT NULL REFERENCES Strefa(ID_Strefa)
    )
    
    Create Table Klatka (
    ID_Klatka INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    ID_Klatka_Rozmiar INT NOT NULL REFERENCES Klatka_Rozmiar(ID_Klatka_Rozmiar),
    ID_Pomieszczenie INT NOT NULL REFERENCES Pomieszczenie(ID_Pomieszczenie),
    ) 
    
    Create Table Zwierze (
    ID_Zwierze INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
    Nazwa_Zwierze varchar(255) NOT NULL,
    Klatka_ID INT NOT NULL REFERENCES Klatka(ID_Klatka),
    Zwierze_ID_Domena INT NOT NULL REFERENCES Domena(ID_Domena),
    Zwierze_ID_Krolestwo INT NOT NULL REFERENCES Krolestwo(ID_Krolestwo),
    Zwierze_ID_Typ INT NOT NULL REFERENCES Typ(ID_Typ),
    Zwierze_ID_Gromada INT NOT NULL REFERENCES Gromada(ID_Gromada),
    Zwierze_ID_Rzad INT NOT NULL REFERENCES Rzad(ID_Rzad),
    Zwierze_ID_Rodzina INT NOT NULL REFERENCES Rodzina(ID_Rodzina),
    Zwierze_ID_Rodzaj INT NOT NULL REFERENCES Rodzaj(ID_Rodzaj),
    Zwierze_ID_Gatunek INT NOT NULL REFERENCES Gatunek(ID_Gatunek)
    )
    
    --Koniec Tworzenie Tabel--
    
    
    --Dodawanie wartości--
    
    --Dodawanie domeny--
    INSERT INTO Domena
    VALUES ('Eukarionty');
    
    --Dodawanie królestwa--
    INSERT INTO Krolestwo
    VALUES ('Zwierzeta', 1);
    
    --Dodawanie typu--
    INSERT INTO Typ
    VALUES ('Miesny', 1),('Strunowce', 1);
    
    --Dodawanie Gromady--
    INSERT INTO Gromada
    VALUES ('Ssaki', 1),('Kręgowce', 2);
    
    --Dodawanie Rzędu--
    INSERT INTO Rzad
    VALUES ('Parzystokopytne', 1),('Sowy', 2);
    
    --Dodawanie Rodziny--
    INSERT INTO Rodzina
    VALUES ('Wołowate', 1),('Ptaki', 2);
    
    --Dodawanie Rodzaju--
    INSERT INTO Rodzaj
    VALUES ('Bydło', 1),('Ptactwo', 2);
    
    --Dodawanie Gatunku--
    INSERT INTO Gatunek
    VALUES ('Tur europejski', 1, '*Taki niby byk*'),('Drapieżny', 2, '*Ptak drapieżny*');
    
    --Dodawanie Strefy--
    INSERT INTO Strefa
    VALUES ('A'),('B'),('C')
    
    --Dodawanie Pomieszczenia--
    INSERT INTO Pomieszczenie
    VALUES (1,1),(2,1),(3,2),(4,3),(5,3)
    
    --Dodawanie Klatek_rozmiar--
    INSERT INTO Klatka_Rozmiar
    VALUES (100,100,100),(500,500,500),(7000,7000,7000)
    
    --Dodawanie Zwierząt--
    INSERT INTO Zwierze
    VALUES ('Byk', 1, 1, 1, 1, 1, 1, 1, 1 ,1 )
    

0 个答案:

没有答案