mysql klucz obcy jak zrobić aby sprawdziło dodawane elementy

0

Jestem początkujący, cały czas słyszałem że klucz obcy dodaje się aby np przy takich tabelach

create table zespoły (nrz int
primary key
, nazwa varchar(30),
nrpk int);

create table pracownicy (nrp int
primary key
, nazwisko
varchar(20) not null,nrz int
references zespoły on delete
set null);

było nie możliwe wpisanie w pracownicy nrz liczby której nie ma w tabeli zespoły w nrz. Robiłem też inny przykład który pokazywał rezultat dodania takiego rekordu jak wspomniałem i pojawił się błąd. U mnie w obydwóch przypadkach udało się dodać element tabeli z błędnym kluczem obcym
np

insert into zespoły(nazwa,nrpk) values('pierwszy',1);
insert into pracownicy(nazwisko,nrpk) values('drugi',3);

próbowałem też SET foreign_key_checks = 1; bez skutku

1

po pierwsze weź ty chłopie zobacz na jakikolwiek SQL tworzący tabelę - nie ważne gdzie - w manualu, na jakiejś stronie, gdziekolwiek. Czy widziałeś gdziekolwiek indziej taki syf, który zaprezentowałeś? Następnie naucz się używać znacznika code
Jak już to opanujesz to potem albo pisz przykłady z sensem!! albo podawaj DOKŁADNIE to co testujesz! - gdzie w tabeli pracownicy masz pole nrpk??

insert into pracownicy(nazwisko,nrpk) values('drugi',3);

create table pracownicy (
  nrp int primary key, 
  nazwisko varchar(20) not null,
  nrz int references zespoły on delete set null);
0

Ta widziałem na stronie politechniki śląskiej, skądś ten "syf" musiałem wziąć

Jakby kogoś dalej bolało brak znacznika code

 create table zespoły (
nrz intprimary key,
nazwa varchar(30),
nrpk int);

create table pracownicy (
nrp int primary key,
nazwisko varchar(20) not null,
nrz int references zespoły on delete set null);

insert into zespoły(nazwa,nrpk) values('pierwszy',1);
insert into pracownicy(nazwisko,nrz) values('drugi',3);

Jak już to opanujesz to potem albo pisz przykłady z sensem!! albo podawaj DOKŁADNIE to co testujesz! - gdzie w tabeli pracownicy masz pole nrpk??

Wydaje mi się że osoba która będzie wstanie mi pomóc będzie znała sqla na tyle żeby zauważyć że powinno być nrz

0

Masz nie tylko problemy z gramatyką SQL-a, ale języka polskiego również.
http://sqlfiddle.com/#!9/c99e7/1

0

Z twojego postu też widać że nie znasz przynajmniej jednej podstawowej zasady pisowni, masz też problemy z czytaniem ze zrozumieniem . Mnie przynajmniej za bardzo to nie interesuje.

Temat można zamknąć .Dostałem odpowiedź na innym forum.

1 użytkowników online, w tym zalogowanych: 0, gości: 1