Forum » Programiranje » mysql - foreign key fails
mysql - foreign key fails
krennn123 ::
Pozdravljeni, že dve uri se mučim okoli enega problema in me zanima, če bi mi lahko povedali, kaj bi tule lahko bilo narobe:
CREATE TABLE dejavnost
(
iddejavnosti INTEGER NOT NULL,
ime VARCHAR(20) NULL,
zacetek TIME NULL,
konec TIME NULL,
idorganizatorja INTEGER NOT NULL
);
insert into dejavnost(iddejavnosti,ime,zacetek,konec,idorganizatorja) values(1,'plavanje','10:30:00','12:30:00',1); //ko izvedem ta stavek, sledi ta error ----> Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`harrej`.`dejavnost`, CONSTRAINT `dejavnost_ibfk_1` FOREIGN KEY (`idorganizatorja`) REFERENCES `organizator` (`idorganizatorja`)) 0.000 sec
)
CREATE TABLE dijak
(
iddijaka INTEGER NOT NULL,
ime VARCHAR(20) NULL,
priimek VARCHAR(20) NULL,
starost INTEGER NULL,
letnik VARCHAR(5) NULL,
idskupine INTEGER NOT NULL
);
CREATE TABLE lokacija
(
idlokacije INTEGER NOT NULL,
ime VARCHAR(20) NULL,
oddaljenost VARCHAR(1000) NULL,
idprevoza INTEGER NOT NULL,
iddejavnosti INTEGER NOT NULL
);
CREATE TABLE organizator
(
idorganizatorja INTEGER NOT NULL,
ime VARCHAR(20) NULL,
priimek VARCHAR(20) NULL,
idprevoza INTEGER NOT NULL
);
CREATE TABLE prevoz
(
idprevoza INTEGER NOT NULL,
vrsta_prevoza VARCHAR(20) NULL,
cas_datum_odhoda DATETIME NULL,
cas_datum_prihoda DATETIME NULL,
iddejavnosti INTEGER NOT NULL
);
CREATE TABLE profesor
(
idprof INTEGER NOT NULL,
ime VARCHAR(20) NULL,
priimek VARCHAR(20) NULL
);
insert into profesor(idprof,ime,priimek) values(1,'Marko','Vidrih');
CREATE TABLE se_udelezi
(
iddejavnosti INTEGER NOT NULL,
idskupine INTEGER NOT NULL
);
CREATE TABLE skupina
(
idskupine INTEGER NOT NULL,
ime VARCHAR(20) NULL,
idprof INTEGER NOT NULL
);
ALTER TABLE profesor
ADD CONSTRAINT PRIMARY KEY (
idprof) ;
ALTER TABLE skupina
ADD CONSTRAINT PRIMARY KEY (
idskupine) ;
ALTER TABLE dijak
ADD CONSTRAINT PRIMARY KEY (
iddijaka) ;
ALTER TABLE lokacija
ADD CONSTRAINT PRIMARY KEY (
idlokacije) ;
ALTER TABLE dejavnost
ADD CONSTRAINT PRIMARY KEY (
iddejavnosti) ;
ALTER TABLE organizator
ADD CONSTRAINT PRIMARY KEY (
idorganizatorja) ;
ALTER TABLE prevoz
ADD CONSTRAINT PRIMARY KEY (
idprevoza) ;
ALTER TABLE skupina
ADD
FOREIGN KEY (idprof)
REFERENCES profesor(idprof);
ALTER TABLE dijak
ADD
FOREIGN KEY (idskupine)
REFERENCES skupina(idskupine);
ALTER TABLE lokacija
ADD
FOREIGN KEY (idprevoza)
REFERENCES prevoz(idprevoza);
ALTER TABLE lokacija
ADD
FOREIGN KEY (iddejavnosti)
REFERENCES dejavnost(iddejavnosti);
ALTER TABLE dejavnost
ADD
FOREIGN KEY (idorganizatorja)
REFERENCES organizator(idorganizatorja);
ALTER TABLE organizator
ADD
FOREIGN KEY (idprevoza)
REFERENCES prevoz(idprevoza);
ALTER TABLE prevoz
ADD
FOREIGN KEY (iddejavnosti)
REFERENCES dejavnost(iddejavnosti);
ALTER TABLE se_udelezi
ADD
FOREIGN KEY (iddejavnosti)
REFERENCES dejavnost(iddejavnosti);
ALTER TABLE se_udelezi
ADD
FOREIGN KEY (idskupine)
REFERENCES skupina(idskupine);
CREATE TABLE dejavnost
(
iddejavnosti INTEGER NOT NULL,
ime VARCHAR(20) NULL,
zacetek TIME NULL,
konec TIME NULL,
idorganizatorja INTEGER NOT NULL
);
insert into dejavnost(iddejavnosti,ime,zacetek,konec,idorganizatorja) values(1,'plavanje','10:30:00','12:30:00',1); //ko izvedem ta stavek, sledi ta error ----> Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`harrej`.`dejavnost`, CONSTRAINT `dejavnost_ibfk_1` FOREIGN KEY (`idorganizatorja`) REFERENCES `organizator` (`idorganizatorja`)) 0.000 sec
)
CREATE TABLE dijak
(
iddijaka INTEGER NOT NULL,
ime VARCHAR(20) NULL,
priimek VARCHAR(20) NULL,
starost INTEGER NULL,
letnik VARCHAR(5) NULL,
idskupine INTEGER NOT NULL
);
CREATE TABLE lokacija
(
idlokacije INTEGER NOT NULL,
ime VARCHAR(20) NULL,
oddaljenost VARCHAR(1000) NULL,
idprevoza INTEGER NOT NULL,
iddejavnosti INTEGER NOT NULL
);
CREATE TABLE organizator
(
idorganizatorja INTEGER NOT NULL,
ime VARCHAR(20) NULL,
priimek VARCHAR(20) NULL,
idprevoza INTEGER NOT NULL
);
CREATE TABLE prevoz
(
idprevoza INTEGER NOT NULL,
vrsta_prevoza VARCHAR(20) NULL,
cas_datum_odhoda DATETIME NULL,
cas_datum_prihoda DATETIME NULL,
iddejavnosti INTEGER NOT NULL
);
CREATE TABLE profesor
(
idprof INTEGER NOT NULL,
ime VARCHAR(20) NULL,
priimek VARCHAR(20) NULL
);
insert into profesor(idprof,ime,priimek) values(1,'Marko','Vidrih');
CREATE TABLE se_udelezi
(
iddejavnosti INTEGER NOT NULL,
idskupine INTEGER NOT NULL
);
CREATE TABLE skupina
(
idskupine INTEGER NOT NULL,
ime VARCHAR(20) NULL,
idprof INTEGER NOT NULL
);
ALTER TABLE profesor
ADD CONSTRAINT PRIMARY KEY (
idprof) ;
ALTER TABLE skupina
ADD CONSTRAINT PRIMARY KEY (
idskupine) ;
ALTER TABLE dijak
ADD CONSTRAINT PRIMARY KEY (
iddijaka) ;
ALTER TABLE lokacija
ADD CONSTRAINT PRIMARY KEY (
idlokacije) ;
ALTER TABLE dejavnost
ADD CONSTRAINT PRIMARY KEY (
iddejavnosti) ;
ALTER TABLE organizator
ADD CONSTRAINT PRIMARY KEY (
idorganizatorja) ;
ALTER TABLE prevoz
ADD CONSTRAINT PRIMARY KEY (
idprevoza) ;
ALTER TABLE skupina
ADD
FOREIGN KEY (idprof)
REFERENCES profesor(idprof);
ALTER TABLE dijak
ADD
FOREIGN KEY (idskupine)
REFERENCES skupina(idskupine);
ALTER TABLE lokacija
ADD
FOREIGN KEY (idprevoza)
REFERENCES prevoz(idprevoza);
ALTER TABLE lokacija
ADD
FOREIGN KEY (iddejavnosti)
REFERENCES dejavnost(iddejavnosti);
ALTER TABLE dejavnost
ADD
FOREIGN KEY (idorganizatorja)
REFERENCES organizator(idorganizatorja);
ALTER TABLE organizator
ADD
FOREIGN KEY (idprevoza)
REFERENCES prevoz(idprevoza);
ALTER TABLE prevoz
ADD
FOREIGN KEY (iddejavnosti)
REFERENCES dejavnost(iddejavnosti);
ALTER TABLE se_udelezi
ADD
FOREIGN KEY (iddejavnosti)
REFERENCES dejavnost(iddejavnosti);
ALTER TABLE se_udelezi
ADD
FOREIGN KEY (idskupine)
REFERENCES skupina(idskupine);
BOCo. ::
Preden narediš insert stavek, izvedi tole
CREATE TABLE organizator ( idorganizatorja INTEGER NOT NULL, ime VARCHAR(20) NULL, priimek VARCHAR(20) NULL, idprevoza INTEGER NOT NULL );
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | oracle 12 identity (the old way)Oddelek: Programiranje | 1053 (858) | detroit |
» | PostgreSQL pomočOddelek: Programiranje | 2500 (1993) | Mato989 |
» | SQL Parent key not foundOddelek: Programiranje | 1056 (979) | Ciklamen |
» | SQL težavaOddelek: Programiranje | 5135 (4417) | joseti |
» | SQL problemOddelek: Programiranje | 971 (909) | dejc009 |