Forum » Programiranje » SQL težava z vmesnimi tabelami
SQL težava z vmesnimi tabelami
RatedR ::
Zdravo, v SQL-u sem nov in imam težavo s povezovanjem tabel, struktura baze je takšna:
Zgornja koda dela, problem je ko poskusim ustvarit vmesne tabele.
Parser mi ne javi nobene specifične napake, le da je syntax error pri "nastopSodniki"
CREATE TABLE `Nastop` ( `ID_nastopa` INTEGER PRIMARY KEY, `ID_tekmovalca` INTEGER, `ID_tekmovanja` INTEGER, FOREIGN KEY (ID_tekmovalca) REFERENCES Tekmovalci(ID_tekmovalca), FOREIGN KEY (ID_tekmovanja) REFERENCES Tekmovanje(ID_tekmovanja) ); CREATE TABLE `Sodniki` ( `ID_sodnika` INTEGER PRIMARY KEY, `kategorija` char(25), FOREIGN KEY (ID_sodnika) REFERENCES Nastop(ID_nastopa) ); CREATE TABLE `Tekmovalci` ( `ID_tekmovalca` INTEGER PRIMARY KEY , `ime` char(20), `priimek` char(20) ); CREATE TABLE `Tekmovanje` ( `ID_tekmovanja` INTEGER PRIMARY KEY, `datum` date, `drzava` char(20) ); CREATE TABLE `Oprema` ( `ID_opreme` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `tip_opreme` varchar(25), `opis_opreme` varchar(25) );
Zgornja koda dela, problem je ko poskusim ustvarit vmesne tabele.
Parser mi ne javi nobene specifične napake, le da je syntax error pri "nastopSodniki"
CREATE TABLE `nastopSodniki` ( `ocena` INTEGER(3), `ID_sodnika` INTEGER, `ID_nastopa` INTEGER, PRIMARY KEY(ID_sodnika, ID_nastopa), FOREIGN KEY (ID_sodnika) REFERENCES Sodniki(ID_sodnika), FOREIGN KEY (ID_nastopa) REFERENCES Nastop(ID_nastopa) ) CREATE TABLE `tekmovanjeOprema` ( `ID_tekmovanja` INTEGER, `ID_opreme` INTEGER, PRIMARY KEY(ID_tekmovanja, ID_opreme), FOREIGN KEY (ID_tekmovanja) REFERENCES Tekmovanje(ID_tekmovanja), FOREIGN KEY (ID_opreme) REFERENCES Oprema(ID_opreme) ) CREATE TABLE `tekmovalciOprema` ( `ID_tekmovalca` INTEGER, `ID_opreme` INTEGER, PRIMARY KEY(ID_tekmovalca, ID_opreme), FOREIGN KEY (ID_tekmovalca) REFERENCES Tekmovalci(ID_tekmovalca), FOREIGN KEY (ID_opreme) REFERENCES Oprema(ID_opreme) )
kuall ::
Manjkajo podpičja pri zadnjih tabelah.
Mysql je butast ja, ker ti ne javi specifične napake. Dobro, da mi ni treba v njem programirat. Microsoft zmaga kot ponavadi.
Mysql je butast ja, ker ti ne javi specifične napake. Dobro, da mi ni treba v njem programirat. Microsoft zmaga kot ponavadi.
RatedR ::
Je pa težava še pri vnosu, že nekaj časa brskam pa mi ni jasno kaj je narobe. Ko poskušam vnest naprimer:
Mi vrne FOREIGN KEY constraint failed: INSERT INTO Nastop, čeprav imam v strukturi Nastop definiran kam bom vezal tuji ključ.
Ima kdo kakšno idejo?
INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (1,1,1); INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (2,2,1); INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (3,3,1);
Mi vrne FOREIGN KEY constraint failed: INSERT INTO Nastop, čeprav imam v strukturi Nastop definiran kam bom vezal tuji ključ.
Ima kdo kakšno idejo?
OracleDev ::
Tak foreign key maš k ti to onemogoča. Najprej morš vnest podatke v tabele Tekmovalci in Tekmovanje.
Stari89 ::
Če želiš po poklicu biti še kaj drugega kot profesor na računalniški fakulteti, uporabljaj angleščino pri programiranju.
kuall ::
zavajon ::
Je pa težava še pri vnosu, že nekaj časa brskam pa mi ni jasno kaj je narobe. Ko poskušam vnest naprimer:
INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (1,1,1);
INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (2,2,1);
INSERT INTO `Nastop` (`ID_nastopa`, `ID_tekmovalca`, `ID_tekmovanja`) VALUES (3,3,1);
Mi vrne FOREIGN KEY constraint failed: INSERT INTO Nastop, čeprav imam v strukturi Nastop definiran kam bom vezal tuji ključ.
Ima kdo kakšno idejo?
Najbrž ti manjkajo recordi z vrednostmi v referenciranih poljih.
V tabeli tekmovalci morajo obstajati recordi z vrednostmi PK 1,2,3.
V tabeli tekmovanja mora obstajati PK 1.
Tako imaš pač definirano.
Meni se zdijo te tvoje reference sicer malo čudne.
Npr. referenca med sodnikom in nastopom. Pri tebi nastop pomeni dejansko en nastop določenega igralca, sodnik pa naj bi sodil na tekmi, ne na nastopu.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | SQL vprasanje (strani: 1 2 )Oddelek: Programiranje | 8402 (5081) | BivšiUser2 |
» | PostgreSQL pomočOddelek: Programiranje | 2522 (2015) | Mato989 |
» | SQL Parent key not foundOddelek: Programiranje | 1071 (994) | Ciklamen |
» | SQL težavaOddelek: Programiranje | 5231 (4513) | joseti |
» | baze podatkovOddelek: Programiranje | 1573 (1492) | urkrajnc |